Generating automated messages within messaging threads that facilitate digital signatures by verified users

ABSTRACT

This disclosure covers systems and methods that verify a user&#39;s identity and generate automated messages within a messaging thread to prompt the user to digitally sign a digital document. Before generating such automated messages, the disclosed methods and systems optionally cause a client device to transition from presenting a newsfeed comprising a third party&#39;s digital content item to (alternatively or additionally) presenting a messaging thread. For instance, in some embodiments, the methods and systems provide a messaging thread for a user and the third party upon receiving a selection by the user of an option within the newsfeed associated with the digital content item. Within the messaging thread, the methods and systems then generate automated messages that prompt the user to digitally sign the digital document, such as a digital petition or contract.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is a continuation of U.S. application Ser. No.15/662,152, filed on Jul. 27, 2017. The aforementioned application ishereby incorporated by reference in its entirety.

BACKGROUND

Network users increasingly share and promote different types of digitalcontent using social networking systems. For example, corporations,educational institutions, firms, and other organizations promotecommercial products, data services, social causes, and other productsand services using posts or in-application messages within a socialnetworking system. Individual users likewise promote such causes,products, or services using private accounts of a social networkingsystem.

But as some organizations and individuals proliferate digital content onsocial networking systems, other users perpetrate cyber fraud usingcertain existing social networking systems. Some existing socialnetworking systems, for example, allow network users to create accountsusing a pseudonym or alternative moniker. Regardless of the type of useraccount offered, some existing social networking systems also lackproper security checks for a user's identity and risk people or softwarebots creating accounts using fictitious or stolen identities. Giventhese security vulnerabilities, organizations and individuals mayinadvertently promote causes or transact electronic commerce withfictitious users or false accounts using a social networking system.This increased cyber fraud impedes organizations and individuals frompromoting causes or conducting electronic commerce with real users usingsocial networking systems.

In addition to cyber-security concerns, the proliferation of digitalcontent on social networking systems has complicated the sharing ofdigital content in public, semi-public, and private communicationforums. Some existing social networking systems, for example, providedigital forums for users to share digital content publicly or with agroup of selected contacts, but lack corresponding digital forums forusers to exchange information privately in a secure environment. Forexample, certain existing social networking systems provide a socialfeed or timeline in which users may post images or other digital contentitems, but lack a corresponding digital forum that enables users toprivately exchange information about (or in connection with) suchdigital content items.

Accordingly, some existing social networking systems lack securitymechanisms that ensure organizations and individuals promote causes,products, and services to real users and not to fictitious users ordeceivers using stolen social-networking accounts. Additionally, someexisting social networking systems lack transition mechanisms thatenable users to move from a public or semi-public digital forum into aprivate forum with a third party to exchange information about (or inconnection with) digital content.

SUMMARY

This disclosure describes one or more embodiments of methods and systemsthat solve the foregoing problems in addition to providing otherbenefits. To solve these and other problems, the disclosed methods andsystems verify a user's identity and generate automated messages withina messaging thread to prompt the user to digitally sign a digitaldocument. Before generating such automated messages, the disclosedmethods and systems optionally cause a client device to transition frompresenting a newsfeed comprising a third party's digital content item to(alternatively or additionally) presenting a messaging thread. Forinstance, in some embodiments, the methods and systems provide amessaging thread for a user and the third party upon receiving aselection by the user of an option within the newsfeed associated withthe digital content item. Within the messaging thread, the methods andsystems then generate automated messages that prompt the user todigitally sign the digital document, such as a digital petition orcontract.

In some embodiments, for instance, the methods and systems provide auser of a social networking system a newsfeed comprising a digitalcontent item for a third party. Upon receiving a selection by the userof a selectable option associated with the digital content item, themethods and systems provide a messaging thread between the user and thethird party. Within this messaging thread, the methods and systemsgenerate a first automated message that comprises a signature option todigitally sign a digital document. When the user selects the signatureoption, the methods and systems generate a second automated messagecomprising an image of a digital signature for the user to add to thedigital document. The disclosed methods and systems also verify theuser's identity. Based on the user's selection to add the digitalsignature and verification of the user's identity, the methods andsystems add the digital signature to the digital document.

By transitioning from a newsfeed to a messaging thread that facilitatesa digital signature, the disclosed methods and systems provide a digitalforum (i.e., a newsfeed) that facilitates promoting causes, products, orservices associated with digital documents and a one-on-one digitalforum (i.e., a messaging thread) in which the digital document can besigned. This transition from a newsfeed to a messaging thread avoids theexchange of sensitive information on a timeline, comment section,newsfeed, or other, more visible space of a social networking system.The automated messages further facilitate organizations and individualsin promoting causes, products, and services on a social networkingsystem that benefit from (or require) a digital signature from averified user.

BRIEF DESCRIPTION OF THE DRAWINGS

The detailed description refers to the drawings briefly described below.

FIG. 1 illustrates a block diagram of an environment for implementing asocial networking system in accordance with one or more embodiments.

FIGS. 2A-2D illustrate a sequence-flow diagram of generating automatedmessages within a messaging thread for a verified user of a socialnetworking system to digitally sign a digital document in accordancewith one or more embodiments.

FIGS. 3A-3B illustrate a sequence-flow diagram of generating automatedmessages within a messaging thread for a verified user of a socialnetworking system to pay a third party or join an email-distributionlist in accordance with one or more embodiments.

FIGS. 4A-4I illustrate user interfaces of a client device presentingautomated messages within a messaging thread for a verified user of asocial networking system to digitally sign a digital document, pay athird party, or join an email-distribution list in accordance with oneor more embodiments.

FIG. 5 illustrates a flowchart of a series of acts in a method ofgenerating automated messages within a messaging thread for a verifieduser of a social networking system to digitally sign a digital documentin accordance with one or more embodiments.

FIG. 6 illustrates a block diagram of an example computing device inaccordance with one or more embodiments.

FIG. 7 illustrates a network environment of a networking systemaccording to one or more embodiments.

FIG. 8 illustrates an example social graph for a networking system inaccordance with one or more embodiments.

DETAILED DESCRIPTION

This disclosure describes one or more embodiments of a social networkingsystem that verifies a user's identity and generates automated messageswithin a messaging thread to prompt the user to digitally sign a digitaldocument. Before generating such automated messages, the socialnetworking system optionally causes a client device to transition frompresenting a newsfeed comprising a third party's digital content item topresenting a messaging thread. For instance, in some embodiments, thesocial networking system provides a messaging thread for a user and thethird party upon receiving a selection by the user of an option withinthe newsfeed associated with the digital content item (e.g., acall-to-action button or link). Within the messaging thread, the socialnetworking system generates automated messages that prompt the user todigitally sign the digital document, such as a digital petition orcontract.

In some embodiments, for instance, the social networking system providesa user of a social networking system a newsfeed comprising a digitalcontent item for a third party. Upon receiving a selection by the userof a selectable option associated with the digital content item, thesocial networking system provides (e.g., generates and/or opens) amessaging thread between the user and the third party. Within thismessaging thread, the social networking system generates a firstautomated message that comprises a signature option to digitally sign adigital document. When the user selects the signature option, the socialnetworking system generates a second automated message comprising animage of a digital signature for the user to add to the digitaldocument. The social networking system further verifies the user'sidentity. Based on the user's selection to add the digital signature andverification of the user's identity, the social networking system addsthe digital signature to the digital document.

The image of the digital signature may take several forms. For example,in some embodiments, the image of the digital signature comprises apreloaded image of a previous digital signature that a user can confirmrepresents her digital signature. Additionally, in some embodiments, thesocial networking system provides a digital signature field in which theuser inputs a digital signature, such as by drawing a digital signaturewith touch gestures on a touch screen. In yet additional embodiments,the social networking system automatically generates an image of adigital signature based on a name designated for an account of the userfor the social networking system.

In addition to adding a digital signature to a digital document, incertain embodiments, the social networking system provides selectableoptions within the messaging thread to share the user's support for thethird party in one of the system's digital forums. For example, in someinstances, the social networking system provides a post-sharing optionwithin the messaging thread that (upon selection) triggers the socialnetworking system to generate a suggested digital content item for theuser to post to the user's timeline or otherwise share with other usersof the social networking system. In some such instances, the suggesteddigital content item indicates the user's support for the third party,such as by indicating that the user digitally signed a digital documentassociated with the third party.

The suggested digital content item also optionally includes a selectableoption (e.g., a call-to-action button or link) that triggers the socialnetworking system to provide an additional messaging thread to anotheruser to facilitate more digital signatures of the digital document. Bysuggesting that users post digital content with such selectable options,the social networking system can create a digital snowball effect. Whenusers post the suggested digital content with options to support thethird party, the social networking system encourages more users tosupport a cause, product, or service associated with the third party anda digital document (e.g., a petition for a social cause or contract fora product or service).

Similarly, in some embodiments, the social networking system provides amessage-sharing option within the messaging thread that (upon selection)triggers the social networking system to provide a list of the user'scontacts (e.g., friends or followers) and a suggested message for theuser to send in a messaging thread to other users. Similar to thesuggested digital content item, in some such instances, the suggestedmessage indicates the user's support for the third party, such as byindicating that the user digitally signed a digital document associatedwith the third party. The suggested message also optionally includes aselectable option that triggers similar messaging threads to facilitatemore digital signatures of the digital document by users to whom thesuggested messages are sent.

In addition to selectable options that facilitate digital signatures, incertain embodiments, the disclosed social networking system alsoprovides options within a messaging thread that facilitate paying athird party and/or adding a user's email address to anemail-distribution list. In some such embodiments, the social networkingsystem includes within an automated message a payment option that (uponselection) causes a client device to generate payment fields tofacilitate a user's donation or payment to a third party. Additionally,or alternatively, the social networking system includes within anautomated message an email-distribution option that (upon selection)causes the social networking system to automatically provide an emailaddress associated with an account of the user for addition to the thirdparty's email-distribution list.

As noted above, some existing social networking systems lack transitionmechanisms that enable users to move from a public- or semi-publicdigital forum into a private digital forum with a third party toexchange information concerning digital content. For example, someexisting social networking systems provide no mechanism for a user toprivately send messages to another user or organization (with which theuser is not connected) to process a digital signature, complete afinancial transaction, or add an email to an email-distribution list. Inthe mobile device context, for example, some existing social networkingsystems cannot transition from a mobile-software application thatfacilitates the display of digital content to multiple users, on the onehand, to a mobile-software application that facilitates the exchange ofinformation in a secure, one-on-one context.

The disclosed social networking system solves these problems byproviding a selectable option and corresponding back-end systems thattransition a client device from presenting a newsfeed to presenting amessaging thread with automated messages that prompt the user's digitalsignature. The disclosed social networking system thus provides adigital forum (i.e., a newsfeed) that facilitates promoting causes,products, or services associated with digital documents and a one-on-onedigital forum (i.e., a messaging thread) in which the digital documentcan be signed, a payment made, or email address added to a list. In someembodiments, for instance, the selectable option triggers a clientdevice to transition from a social networking application with anewsfeed to a messaging application with a messaging thread for the userand a third party to exchange sensitive information. Similarly, in someembodiments, the selectable option triggers a client device totransition from a web browser with a newsfeed to overlay a messagingthread for the user and a third party to exchange sensitive information.

As also noted above, some existing social networking systems lacksecurity mechanisms that ensure organizations and individuals promotecauses, products, and services to real users, instead of fictitioususers or deceivers using stolen accounts. The disclosed socialnetworking system solves this problem by using a chatbot that generatesautomated messages for gathering digital signatures, payments, and emailaddresses from verified users. After the social networking systemverifies a user's identity, the social networking system uses a chatbotto represent the third party in a one-on-one messaging thread betweenthe user and the chatbot. This private messaging thread allows users tosecurely exchange sensitive information away from the more visibledigital forums of some social networking systems.

Turning now to the figures, FIG. 1 illustrates a block diagram of oneembodiment of a system environment 100 in which a social networkingsystem 102 operates. As illustrated in FIG. 1, the system environment100 includes the social networking system 102, including server(s) 104.The system environment 100 further includes a third-party device 106 andclient devices 116 a and 116 b. As depicted in FIG. 1, the third-partydevice 106 has an associated third party 112. Similarly, each of theclient devices 116 a and 116 b have an associated user—with a user 122 aassociated with the client device 116 a and a user 122 b associated withthe client device 116 b.

As suggested by FIG. 1, the third party 112 sends a digital content itemfrom the third-party device 106 to the social networking system 102 toshare with other users (e.g., users 122 a and 122 b). As used in thisdisclosure, the term “digital content item” refers to any digital image,photo, text, symbol, video, file, or any combination thereof capable ofposting to or sharing through a social networking system. For example, adigital content item can include an image and accompanying text with acall-to-action button posted within a newsfeed for a user of the socialnetworking system 102. As another example, a digital content item caninclude a video with an accompanying link posted within a newsfeed for auser of the social networking system 102. FIG. 4A below provides afurther example of a digital content item.

The term “newsfeed” refers to a compilation of recent social networkingactivity on a social networking system relevant to a user. For example,a newsfeed includes recently posted digital content items from a user'sfriends, followees, or contacts on the social networking system 102. Anewsfeed may also include digital content items distributed by thirdparties, such as sponsored digital content items that promote a cause,product, or service. In some embodiments, the client devices 116 a and116 b present newsfeeds with digital content items within a graphicaluser interface. FIG. 4A below provides a further example of a newsfeed.

After the social networking system 102 adds a digital content item tonewsfeeds for the user 122 a and 122 b, one or both of the users 122 aand 122 b view the digital content item on their respective clientdevices 116 a and 116 b. Although FIG. 1 illustrates a particular numberof client devices 116 a and 116 b and a particular number of associatedusers 122 a and 122 b, the system environment 100 may include any numberof client devices and any number of associated users. Any number ofthese users may view digital content items from third parties within theusers' respective newsfeeds.

When the client device 116 a presents the digital content item within anewsfeed for the user 122 a, for example, the client device 116 areceives an indication of a selection by the user 122 a of a selectableoption associated with the digital content item for the third party 112.In some embodiments, this selection triggers the social networkingsystem 102 to provide a messaging thread to the client device 116 a. Theprovided messaging thread is private and between the third party 112 andthe user 122 a. In some embodiments, the social networking system 102digitally encrypts the messages sent and received over the network 114as part of the messaging thread.

As used in this disclosure, the term “messaging thread” refers to acollection of one or more digital messages exchanged between users of anetworking system. Accordingly, a messaging thread may include multipledigital messages sent and received exclusively by users of the socialnetworking system 102. But a messaging thread may likewise include asingle digital message sent exclusively from one user to another user ofthe social networking system 102. In some embodiments, both the thirdparty 112 and a chatbot that represents the third party 112 have accessto a messaging thread between the third party 112 and another user ofthe social networking system 102, such as the user 122 a. As describedbelow, in some embodiments, the third-party device 106 and the clientdevices 116 a and 116 b present graphical user interfaces that includemessaging threads, such as the messaging threads shown in FIGS. 4B-4Eand 4I described below.

In addition to being private, the provided messaging thread is shown toa verified user. The social networking system 102 verifies an identityof the user 122 a sometime before providing the messaging thread. Forexample, in some embodiments, the social networking system 102 comparesa username and password to a username and password associated with anaccount of the user 122 a. Additionally, in certain embodiments, thesocial networking system 102 also compares a location of the clientdevice 116 a and a device identifier of the client device 116 a tolocations and device identifiers of one or more client devices trackedwithin a user history for the user 122 a.

Continuing the example from above, after providing a messaging thread tothe client device 116 a, the social networking system 102 generatesautomated messages that prompt the user to perform certain tasks.Specifically, in some embodiments, the social networking system 102 usesa chatbot to generate such automated messages. For example, a chatbotmay generate automated messages that prompt the user 122 a to digitallysign a digital document, pay the third party 112, and/or add an emailaddress to an email-distribution list.

As used in this disclosure, the term “automated message” refers to adigital message that a chatbot generates within a messaging thread. Forexample, an automated message may include text and selectable optionsthat prompt a user to perform tasks. Moreover, an automated message maylikewise include a digital document that the automated message prompts auser to sign and/or an image of a digital signature for a user to add tothe digital document. FIGS. 4B-4E and 4I below provide examples ofautomated messages.

Relatedly, the term “digital document” refers to any documentrepresented in a digital format. A digital document may include, but isnot limited to, a digital agreement, contract, financial statement,indenture, license, memorandum, pledge, promissory note, petition, taxform, written statement, waiver, or image. In some embodiments, adigital document includes fields within which a digital signature may beadded. The term “digital signature” refers to any signature generated orcaptured by a computing device (e.g., initials, a name, a code). Adigital signature includes, but is not limited to, a signature drawnwith a mouse, stylus, or touch gesture using a computer interface (e.g.,a finger drawing a signature on a touch screen) or an automaticallygenerated representation of a user's signature based on a namedesignated for an account of a user of the social networking system 102.FIGS. 4B and 4D described below provide examples of digital signatures.In some embodiments, the social networking system 102 provides a digitalsignature in the form of an image, such as a .JPG file comprising adigital signature.

After the social networking system 102 has provided a messaging thread,it optionally generates an automated message within the messaging threadthat prompts the user 122 a to sign a digital document. In some suchembodiments, the social networking system 102 provides an image of adigital signature for the user 122 a to add to the digital document.After receiving a confirmation that the digital signature represents asignature of the user 122 a or receiving a new digital signature fromthe user 122 a, the social networking system 102 adds a digitalsignature for the user 122 a to the digital document.

When sending and receiving digital content items, digital messages, orother content, the third-party device 106 and the client devices 116 aand 116 b communicate over a network 114 with the social networkingsystem 102, including the server(s) 104. This disclosure describesadditional details related to the social networking system 102 belowwith reference to FIGS. 7-8. Additionally, the network 114 may representa network or a collection of networks, such as the Internet, a corporateintranet, a local area network (“LAN”), or a combination of two or moresuch networks. The network 114 may also be any suitable network overwhich the third-party device 106 and the client devices 116 a and 116 b(or other components) access the social networking system 102 (or viceversa).

As further shown in FIG. 1, the server(s) 104 can enable the variousfunctions, features, processes, methods, and systems described in thisdisclosure using, for example, instructions within the social networkingsystem 102. Additionally, or alternatively, the server(s) 104 coordinatewith the third-party device 106 and/or the client devices 116 a and 116b to perform or provide the various functions, features, processes,methods, and systems described in more detail below. Although FIG. 1illustrates a particular arrangement of the social networking system102, server(s) 104, third-party device 106, network 114, and clientdevices 116 a and 116 b, various additional arrangements are possible.For example, the social networking system 102 and the server(s) 104 maydirectly communicate with the third-party device 106 and/or the clientdevices 116 a and 116 b and thus bypass the network 114.

Generally, the third-party device 106 and client devices 116 a and 116 bcan include any one of various types of client devices. For example, thethird-party device 106 or client devices 116 a and 116 b can include amobile device (e.g., a smart phone), tablet, laptop computer, desktopcomputer, television, or any other type of computing device as furtherexplained below with reference to FIG. 6. Similarly, the server(s) 104can include one or more computing devices, including those explainedbelow with reference to FIG. 6. Moreover, the server(s) 104, socialnetworking system 102, third-party device 106, network 114, and clientdevices 116 a and 116 b may communicate using any communicationapplications and technologies suitable for transporting data and/orcommunication signals, including any known communication technologies,devices, media, and protocols supportive of data communications,examples of which are described below with reference to FIG. 7.

As an overview of the system environment 100, the server(s) 104 providethe third-party device 106 and client devices 116 a and 116 b access tothe social networking system 102 through the network 114. In one or moreembodiments, when accessing the server(s) 104 of the social networkingsystem 102, the third-party device 106 transmits digitally encoded datato the social networking system 102, such as digitally encoded data fora digital content item or digital message. For example, the socialnetworking system 102 may provide a website that enables the third party112 to send digital content items for posting to a page/account for thethird party and adding to the newsfeeds of users of the socialnetworking system 102. By contrast, in one or more embodiments, when theclient devices 116 a and 116 b access the server(s) 104 of the socialnetworking system 102 (e.g., through a website), the client devices 116a and 116 b receive a transmission of digitally encoded data from thesocial networking system 102, such as digitally encoded data for adigital content item or digital message.

Additionally, or alternatively, the third-party device 106 and theclient devices 116 a and 116 b communicate with the server(s) 104 of thesocial networking system 102 via dedicated applications on thethird-party device 106 and the client devices 116 a and 116 b. Inparticular, the third-party device 106 and the client devices 116 a and116 b each have an associated social networking application andmessaging application—with a social networking application 108 and amessaging application 110 associated with the third-party device 106, asocial networking application 118 a and a messaging application 120 aassociated with the client device 116 a, and a social networkingapplication 118 b and a messaging application 120 b associated with theclient device 116 b.

Among other things, the social networking applications 108, 118 a, and118 b provide tools for the third party 112 and the users 122 a and 122b to send digital content items to the social networking system 102 forposting on timelines or newsfeeds for users. By contrast, the messagingapplications 110, 120 a, and 120 b facilitate direct messaging within amessaging thread between the third party 112 (or a chatbot for the thirdparty 112) and another user of the social networking system 102.Although FIG. 1 depicts the social networking applications 108, 118 a,and 118 b, on the one hand, and the messaging applications 110, 120 a,and 120 b, on the other hand, as separate applications from each other,in an alternative embodiment, the messaging applications 110, 120 a, and120 b are respectively part of the social networking applications 108,118 a, and 118 b (or vice versa).

In some embodiments, the social networking applications 108, 118 a, and118 b and the messaging applications 110, 120 a, and 120 b comprise webbrowsers, applets, or other software applications (e.g., nativeapplications) available to the third-party device 106 and the clientdevices 116 a and 116 b. Additionally, in some instances, the socialnetworking system 102 provides data packets including instructions that,when executed by the third-party device 106 or the client devices 116 aand 116 b, respectively create or otherwise integrate the socialnetworking applications 108, 118 a, and 118 b within an application orwebpage. Similarly, in some instances, the social networking system 102provides data packets including instructions that, when executed by thethird-party device 106 or the client devices 116 a and 116 b,respectively create or otherwise integrate messaging applications 110,120 a, and 120 b within an application or webpage.

As suggested above, the third-party device 106 may share digital contentitems with the client device 116 a and 116 b. In some cases, thethird-party device 106 launches the social networking application 108 tofacilitate interacting with the social networking system 102. In somesuch embodiments, the social networking application 108 coordinatescommunications between the third-party device 106 and the server(s) 104such that, for example, the third-party device 106 sends a digitalcontent item to the social networking system 102 (and the socialnetworking system 102 in turn sends the digital content item to theclient devices 116 a and 116 b) to add to a newsfeed for a user.

To facilitate user interaction with the social networking system 102,the social networking application 108 and the messaging application 110each optionally comprise one or more graphical user interfacesassociated with the social networking system 102; receive indications ofinteractions of the third party 112 with the graphical user interfaces;and perform various requests, queries, or responses to other user input,such as displaying a digital content item in the social networkingapplication 108 or displaying a messaging thread within the messagingapplication 110. Similarly, the social networking applications 118 a and118 b and the messaging applications 120 a and 120 b each perform thesame functions for the client devices 116 a and 116 b (and the users 122a and 122 b) as the social networking application 108 and the messagingapplication 110 performs for the third-party device 106 (and the thirdparty 112).

For example, the graphical user interfaces of the social networkingapplication 108 and social networking applications 118 a-118 bfacilitate the transmission of digital content items for display withina newsfeed or with other content. Based on detecting an interactionbetween the user 122 a and a graphical user interface (provided by theclient device 116 a)—such as a selection of a selectable thumbnail forthe social networking application 118 a—the client device 116 a verifiesan identity of the user 122 a. After verifying the identity of the user122 a, the client device 116 a requests a newsfeed from the socialnetworking system 102. Upon receiving the request, the social networkingsystem 102 transmits a digital content item for the third party 112 witha newsfeed to the client device 116 a.

The client device 116 a then presents the digital content item withinthe newsfeed in a graphical user interface. Based on detecting anadditional interaction between the user 122 a and a graphical userinterface (provided by the client device 116 a)—such as a selection of aselectable option associated with the digital content item—the clientdevice 116 a requests from the social networking system 102 a messagingthread between the third party 112 and the user 122 a. Upon making therequest, the client device 116 a launches the messaging application 120a to view the requested messaging thread. The social networking system102 then provides the requested messaging thread to the client device116 a for presentation within a graphical user interface. Using achatbot, the social networking system 102 generates automated messageswithin the messaging thread that prompt the user 122 a to digitallysigning a digital document, pay the third party 112, and/or add an emailaddress to an email-distribution list.

Turning now to FIGS. 2A-2D and 3, these figures provide an overview ofembodiments of the social networking system 102 that verify a user'sidentity and generate automated messages within a messaging thread toprompt the user to digitally sign a digital document, pay a third party,or join an email-distribution list. Specifically, FIGS. 2A-2D illustratea representation of a sequence of acts 202-262 that the socialnetworking system 102, the third-party device 106, or the client device116 a perform, such as sending a digital content item to add to anewsfeed for a user, providing a messaging thread, generating anautomated message comprising a signature option, and verifying anidentity of a user. Similarly, FIGS. 3A-3B illustrates a representationof a sequence of acts 302-324 that the social networking system 102, thethird-party device 106, or the client device 116 a perform, such asgenerating an automated message comprising a signature option, a paymentoption, and an email-distribution option; providing payment fields; andgenerating an automated message comprising an email address for a user.

Various components of the system environment 100 perform the acts202-262 shown in FIGS. 2A-2D or the acts 302-324 shown in FIGS. 3A-3B.In some embodiments, for example, the social networking system 102comprises computer-executable instructions that cause the server(s) 104to perform one or more of the acts 202-262 or the acts 302-324.Similarly, in certain embodiments, the social networking application 108and the messaging application 110 comprise computer-executableinstructions—and the social networking application 118 a and themessaging application 120 a comprise computer-executableinstructions—that respectively cause the third-party device 106 or theclient device 116 a to perform one or more of the acts 202-262 or theacts 302-324. Rather than repeatedly describe the instructions withinthe social networking system 102 as causing the server(s) 104 to performcertain acts—or the instructions within the social networkingapplications 108 and 118 a and the messaging applications 110 and 120 aas causing the third-party device 106 or client device 116 a to performcertain acts—this disclosure primarily describes the social networkingsystem 102, the third-party device 106, or the client device 116 a asperforming the acts 202-262 and the acts 302-324 as a shorthand forthose relationships.

Turning back now to FIGS. 2A-2D, as shown in FIG. 2A, the third-partydevice 106 performs the act 202 of sending a digital content item to thesocial networking system 102. The social networking system 102 in turnperforms the act 204 of adding the digital content item to a newsfeedfor the user 122 a and the act 206 of providing the newsfeed to theclient device 116 a. For example, in some embodiments, the third-partydevice 106 sends a digital content item from the third party 112 to addto newsfeeds for users of the social networking system 102. Such adigital content item may include, for example, an image and textsoliciting signatures for a petition supporting a cause, a video of aproduct with an accompanying text describing and promoting features ofthe product (e.g., clothing, computing device, vehicle, video game), oran image and an accompanying text promoting a service (e.g., anamusement park, hotel, video streaming service).

As noted above, in some embodiments, the social networking system 102includes a selectable option associated with the digital content item.As used in this disclosure, the term “selectable option” refers to acall-to-action button, a selectable thumbnail, a selectable icon, avisible hyperlink, an invisible hyperlink, a radio button, or otheroption that (upon selection) triggers the social networking system 102or a client device to perform an action. For example, when the clientdevice 116 a detects a selection of the selectable option associatedwith the digital content item, the client device 116 a sends anindication of that selection to the social networking system 102, whichin turn triggers the social networking system 102 to provide a messagingthread to the client device 116 a.

Upon receipt of the digital content item for the third party 112, thesocial networking system 102 adds the digital content item to some (orall) newsfeeds for users of the social networking system 102. In someembodiments, for example, the social networking system 102 adds thedigital content item as sponsored content to newsfeeds for users whosatisfy certain demographic criteria, who have performed certain actionswithin the social networking system 102 (e.g., liking an organization'spage, followed a particular user), or who are associated with ageographic location. In some such embodiments, the social networkingsystem 102 adds the digital content item for a limited period of timespecified by the third party 112 (e.g., a time period selected by thethird party 112 for an advertising campaign on the social networkingsystem 102).

As suggested by the act 206 in FIG. 2A, when the social networkingsystem 102 receives a request from the client device 116 a to access anewsfeed for the user 122 a, the social networking system 102 providesthe newsfeed to the client device 116 a. For example, in someembodiments, the social networking system 102 sends digitally encodeddata to the client device 116 a that represents some or all of thedigital content items within the newsfeed for the user 122 a. Thesedigital content items may include the digital content item for the thirdparty 112. In some such embodiments, the social networking system 102sends digitally encoded data to the client device 116 a that representthe most recently added digital content items for the newsfeed,including the digital content item for the third party 112.

As noted above, the social networking system 102 provides the newsfeedto the client device 116 a with the digital content item from the thirdparty 112. As shown in FIG. 2A, the client device 116 a performs the act208 of presenting the newsfeed with the digital content item and the act210 of detecting a selection of a selectable option associated with thedigital content item. For example, in some embodiments, the clientdevice 116 a presents within a graphical user interface a newsfeed thatincludes social networking activity and the digital content item for thethird party 112. When presenting a newsfeed, the client device 116 amay, for instance, present the digital content item together with anassociated selectable option. In some embodiments, the client device 116a presents a call-to-action button that prompts the user 122 a to sign apetition, support a cause, purchase a product or service, or find outmore information concerning a cause, product, or service. As part of theact 210, the client device 116 a detects a selection by the user 122 aof the selectable option associated with the digital content item. Asfurther shown in FIG. 2A, the client device 116 a then sends anindication of the selection of the selectable option to the socialnetworking system 102. For example, in certain embodiments, the clientdevice 116 a sends data encoded to indicate a selection by the user 122a of the selectable option.

This indication that the user 122 a selected the selectable optiontriggers the social networking system 102 to provide a messaging threadto the client device 116 a. As shown in FIG. 2A, the social networkingsystem 102 performs the act 212 of providing a messaging thread to theclient device 116 a. In some embodiments, for example, the socialnetworking system 102 provides data packets including instructions that,when executed by the client device 116 a, cause the client device 116 ato launch or open the messaging application 120 a. In some suchembodiments, the instructions further cause the client device 116 a toopen a messaging thread between the user 122 a and the third party 112.As explained below, the messaging thread may further include anautomated message generated by a chatbot from the third party 112.

When the client device 116 a is a mobile computing device, for example,the instructions from the social networking system 102 optionally causethe client device 116 a to transition from presenting a graphical userinterface for one mobile-software application (e.g., the socialnetworking application 118 a) that includes the newsfeed to presenting agraphical user interface for another mobile-software application (e.g.,the messaging application 120 a) that includes the messaging thread.This and other transitions are examples of how the social networkingsystem 102 avoids the problems of some existing social networkingsystems by transitioning from a more visible digital forum to a private,one-on-one digital forum where a verified user may exchange sensitiveinformation with a third party.

By contrast, in some embodiments, the social networking system 102provides data packets including instructions that, when executed by theclient device 116 a, cause the client device 116 a to present agraphical user interface for the messaging application 120 a as anoverlay on a graphical user interface for the social networkingapplication 118 a. For example, in some such embodiments—where both thesocial networking application 118 a and messaging application 120 acomprise one or more web browsers—the client device 116 a transitionsfrom presenting a first graphical user interface for the socialnetworking application 118 a to additionally presenting a secondgraphical user interface for the messaging application 120 a as anoverlay on the first graphical user interface. In such embodiments, theselectable option triggers the client device 116 a to transition from aweb browser comprising a newsfeed for the user 122 a to overlaying amessaging thread for the user 122 a and the third party 112 within agraphical user interface for the web browser.

FIG. 2A depicts the social networking system 102 providing the messagingthread in response to receiving an indication of a selection of acertain selectable option associated with a digital content item. Butthe social networking system 102 optionally provides the messagingthread independent of such an indication. For example, in someembodiments, the social networking system 102 may provide a messagingthread between the user 122 a and the third party 112 in response to aselection by the user 122 a to view the messaging thread from within aninbox of the messaging application 120 a. In some such cases, agraphical user interface of the messaging application 120 a includes aninbox for the user 122 a that indicates a message received from thethird party 112. In other words, in some embodiments, the third party112 may initiate contact with the user 122 a when, for example, thethird party 112 and the user 122 a have previously exchanged messageswithin the messaging thread.

Regardless of how the social networking system 102 provides themessaging thread, in some embodiments, a chatbot represents the thirdparty 112 within the messaging thread. In some instances, the socialnetworking system 102 uses the open source Artificial LinguisticInternet Computer Entity (“ALICE”) engine and the open source ArtificialIntelligence Mark Language (“AIML”) to train the chatbot to generateautomated messages for the third party 112. Alternatively, in otherembodiments, the social networking system 102 uses Facebook's Wit.aiplatform to train the chatbot to generate automated messages for thethird party 112. To take but one example, the social networking system102 trains the chatbot to generate automated messages that prompt theuser 122 a to digitally sign a digital document. Examples of suchautomated messages are described below, including automated messagesthat comprise signature options and images of digital signatures.

As shown in FIG. 2A, the social networking system 102 performs the act214 of generating an automated message comprising a signature option todigitally sign a digital document. In some embodiments, for instance,the social networking system 102 generates an automated message withinthe messaging thread that refers to (or includes a text for) a digitaldocument, a hyperlink to a digital document, or a downloadable file fora digital document. Alternatively, in some embodiments, the socialnetworking system 102 generates an automated message within themessaging thread that refers to a digital document by a name orrepresentation, such as by referring by name or visual representation toa digital document within the digital content item for the third party112 or to a website or native application that includes the digitaldocument.

Regardless of whether or how an automated message includes or refers toa digital document, the social networking system 102 generates anautomated message comprising a signature option to digitally sign thedigital document as part of (or separate from) the automated messagereferring to the digital document. As indicated by FIG. 2A, the socialnetworking system 102 further sends the automated message to the clientdevice 116 a for display within a graphical user interface. In someembodiments, the signature option comprises a selectable option that(upon selection) triggers the social networking system 102 to providetools for the user 122 a to digitally sign the digital document. In someinstances, the signature option includes a text, image, or otherindicator that prompts or requests the user 122 a to sign the digitaldocument. As described further below with reference to FIGS. 3A-3B, incertain embodiments, the automated message may include additionalselectable options.

After presenting the automated message comprising the signature option,the client device 116 a performs the act 216 of detecting a selection ofthe signature option. As shown in FIG. 2A, upon detection, the clientdevice 116 a sends an indication of the selection of the signatureoption to the social networking system 102. For example, in certainembodiments, the client device 116 a sends data encoded to indicate aselection by the user 122 a of the signature option. This indicationtriggers the social networking system 102 to provide tools for digitallysigning the digital document.

As further shown in FIG. 2A, the social networking system 102 performsthe act 218 of generating an automated message comprising an image of adigital signature and an add-signature option. As indicated by the arrowassociated with the act 218, the social networking system 102 also sendsthe automated message to the client device 116 a for presentation withina graphical user interface. In some embodiments, the image of thedigital signature comprises a preloaded image of a previous digitalsignature, such as a digital signature previously digitally drawn by theuser 122 a. Alternatively, in some embodiments, the social networkingsystem 102 generates an image of a digital signature based on a namedesignated for an account of the user 122 a for the social networkingsystem 102. For example, the social networking system 102 may generatean image of stylized or plain text of the name designated for theaccount of the user 122 a.

In addition to the image of the digital signature, the automated messagecomprises an add-signature option. As suggested by its name, uponselection, the add-signature option triggers the social networkingsystem 102 to add a digital signature for the user 122 a to the digitaldocument. In some instances, the add-signature option indicates (bytext, image, or other indicator) that upon selecting the add-signatureoption, the signature of the user 122 a will be added to the digitaldocument. Alternatively, the add-signature option indicates (by text,image, or other indicator) that upon selecting the add-signature option,the digital document will be digitally signed on behalf of the user 122a. In certain embodiments, the add-signature option further indicates tothe user 122 a that selecting the add-signature option confirms that theimage of the digital signature represents a digital signature for theuser 122 a.

The social networking system 102, however, also optionally providesoptions to change, edit, or add a new signature. As shown in FIG. 2B,the social networking system 102 optionally performs the act 220 ofproviding a new-signature option to the client device 116 a. The clientdevice 116 a in turn optionally performs the act 222 of detecting aselection of the new-signature option. Similar to some of the optionsdescribed above, the new-signature option is a selectable option. Thenew-signature option triggers the social networking system 102 toprovide tools for the user 122 a to attach, create, link, or upload adigital signature that differs from the image of the digital signatureinitially presented to the user 122 a by the social networking system102. In some embodiments, the social networking system 102 provides thenew-signature option as part of the automated message comprising theimage of the digital signature for the user 122 a. In other words, insome embodiments, the social networking system 102 generates anautomated message comprising an image of a digital signature, anadd-signature option, and a new-signature option.

As suggested by FIG. 2B, when the client device 116 a detects aselection by the user 122 a of the new-signature option, the clientdevice 116 a sends an indication of the selection of the new-signatureoption to the social networking system 102. For example, in certainembodiments, the client device 116 a sends data encoded to indicate aselection by the user 122 a of the new-signature option. This indicationthat the user 122 a selected the new-signature option triggers thesocial networking system 102 to provide tools for the user 122 a tocreate or add a new digital signature.

As shown in FIG. 2B, for example, the social networking system 102optionally performs the act 224 of providing a digital signature field.In some cases, the social networking system 102 generates the digitalsignature field within the messaging thread. The term “digital signaturefield” refers to a digital space in which a user attaches, inputs,links, or uploads a digital signature. For example, in some embodiments,a digital signature field comprises a digital space in which the clientdevice 116 a renders strokes drawn by the user 122 a on a touch screenor other computer interface of the client device 116 a to create adigital signature. Additionally, or alternatively, in some embodiments,a digital signature field comprises a digital space in which the clientdevice 116 a renders an image of a digital signature attached, linked,or uploaded by the user 122 a to the client device 116 a.

As further shown in FIG. 2B, after the social networking system 102provides the digital signature field, the client device 116 a optionallyperforms the act 226 of receiving a new digital signature. In someembodiments, for example, the messaging application 120 a comprisescomputer-executable instructions that, when executed by the clientdevice 116 a, cause the client device 116 a to detect a signature inputby a keyboard, mouse, stylus, or touch gesture. While some such digitalsignatures may be input as a drawing or with strokes, other digitalsignatures may be input as a code or text. Additionally, oralternatively, in some embodiments, the messaging application 120 acomprises computer-executable instructions that, when executed by theclient device 116 a, cause the client device 116 a to detect a fileattached, uploaded, or linked by the user 122 a within the digitalsignature field. In some such embodiments, the digital signature fieldincludes within (or has the social networking system 102 populatenearby) a selectable option to attach, upload, or link an image of adigital signature within the messaging thread. Upon receipt of the newdigital signature, the client device 116 a sends the image or other filecomprising the new digital signature to the social networking system102.

Independent of whether the user 122 a uses an image of a digitalsignature from the social networking system 102 or inputs a new digitalsignature, the social networking system 102 facilitates the user 122 ain adding the digital signature to the digital document. As shown inFIG. 2B, the client device 116 a performs the act 228 of detecting aselection of the add-signature option. In some embodiments, by detectinga selection of the add-signature option, the client device 116 areceives a confirmation from the user 122 a that the image of thedigital signature from the social networking system 102 represents adigital signature for the user 122 a. In some such instances, forexample, the client device 116 a receives a confirmation from the user122 a that a preloaded image of a previous digital signature (or anautomatically generated digital signature) represents a signature of theuser 122 a.

When the client device 116 a receives a new digital signature, however,detecting a selection of the add-signature option represents somethingdifferent. In some embodiments, by detecting a selection of theadd-signature option, the client device 116 a receives a confirmationfrom the user 122 a that the new digital signature represents a digitalsignature for the user 122 a. Regardless of whether the detection refersto a digital signature received from the social networking system 102 ora new digital signature, by detecting a selection of the add-signatureoption, the client device 116 a receives an indication from the user 122a to add a digital signature to the digital document.

As noted above, in addition to providing a messaging thread andsignature options, the social networking system 102 verifies a user'sidentity. As shown in FIG. 2B, for example, the social networking system102 performs the act 230 of verifying an identity of the user 122 a. Insome embodiments, the social networking system 102 compares a usernameand password to a username and password associated with an account ofthe user 122 a. Additionally, or alternatively, in certain embodiments,the social networking system 102 compares a location of the clientdevice 116 a and a device identifier of the client device 116 a tolocations and device identifiers of one or more client devices trackedwithin a user history for the user 122 a.

For example, in some embodiments, the social networking system 102compares coordinates or a location identifier from a Global PositioningSystem (“GPS”), Assisted GPS, synthetic GPS, a Cell ID, Wi-Fifingerprint, or Bluetooth beacon, on the one hand, to a same type ofcoordinates or identifier in a user history of the social networkingsystem 102 for the user 122 a, on the other hand. Relatedly, in someembodiments, the social networking system 102 compares a devicefingerprint, a browser fingerprint, an internal or external InternetProtocol (“IP”) address, or an IP address for a network to which theclient device 116 a is connected, on the one hand, to a same type offingerprint or address in a user history of the social networking system102 for the user 122 a, on the other hand.

Additionally, or alternatively, in some embodiments, the socialnetworking system 102 further determines whether the user 122 a is areal or fictitious person based on social networking activity andprofile information associated with an account of the user 122 a for thesocial networking system 102. For example, in some embodiments, thesocial networking system 102 determines one or more of (a) whether anaccount of the user 122 a includes a real image or another imageavailable on the Internet (e.g., a stock image), (b) whether the accountis connected to contacts or “friends” who are also connected to eachother through the social networking system 102 (e.g., whether theaccount is connected to “mutual friends”), (c) whether a timelineassociated with the account has posted photos of a person and how manysuch photos are posted on the timeline, (d) a number of pages followedor liked by the user 122 a, (e) a number of comments, reactions (e.g.,likes, emoji reactions), or shares by the user 122 a associated withsocial networking posts of contacts or friends, (f) a number of fieldswith information within profile information associated with the account,(g) a number of birthday wishes posted on a timeline associated with theaccount, (h) a regularity of signing in to the account (e.g., a sign inevery day, week, or month), or (i) a time since the account was createdfor the user 122 a.

In one or more embodiments, the social networking system 102 assigns ascore to one or more of the factors (a) through (i) to determine whetherthe user 122 a is a real or fictitious person. In such embodiments, whena cumulative score accounting for each considered factor exceeds athreshold cumulative score, the social networking system 102 determinesthat the user 122 a is likely a real person. By contrast, when acumulative score accounting for each considered factor falls below athreshold cumulative score, the social networking system 102 determinesthat the user 122 a is likely a fictitious person.

Although FIGS. 2A-2B depict the social networking system 102 asverifying an identity of the user 122 a after providing a newsfeed and amessaging thread for the user 122 a, in some embodiments, the socialnetworking system 102 verifies an identity of the user 122 a at anypoint before adding a digital signature to the digital document. Forexample, in some embodiments, the social networking system 102 verifiesan identity of the user 122 a when the client device 116 a launches thesocial networking application 118 a or the messaging application 120 a.

In addition to verifying an identity of users, in some embodiments, thesocial networking system 102 also adds a digital signature to a digitaldocument. As further shown in FIG. 2B, the social networking system 102performs the act 232 of adding the digital signature to the digitaldocument. In some embodiments, the social networking system 102 adds thedigital signature based on receiving an indication of a selection of theadd-signature option and verifying the identity of the user 122 a.

The social networking system 102 may add the digital signature to thedigital document in a variety of ways. For example, in some embodiments,the social networking system 102 adds the digital signature to a digitaldocument stored by the social networking system 102 for the third party112. In such embodiments, the social networking system 102 may, forexample, add an image of the digital signature to the digital document,such as by superimposing the image onto the digital document or byadding the image to a digital field for signatures; add a coderepresenting the digital signature to the text of the digital document,such as by adding a code that represents the digital signature or aunique identifier that identifies the image; or attach the image of thedigital signature to the digital document, such as by attaching anadditional digital signature page referencing the digital document.

As indicated by the arrow for the act 232 in FIG. 2B, in someembodiments, the social networking system 102 optionally sends thedigital signature or an image of the digital signature to thethird-party device 106. In some embodiments, for instance, the socialnetworking system 102 primarily transfers the digital signature or imageof the digital signature to the third-party device 106 for the thirdparty 112 to add to the digital document. Accordingly, in some suchcases, while the social networking system 102 stores a version of thedigital document, the third party 112 adds the digital signature to thedigital document.

In addition to adding the digital signature to the digital document, incertain embodiments, the social networking system 102 performs the act234 of sending the digital signature to the third-party device 106. Insome cases, for instance, the social networking system 102 sends thedigital document with the digital signature to the third-party device106. Alternatively, in certain instances, the social networking system102 sends a notice to the third-party device 106 that the digitalsignature has been added to the digital document stored by the socialnetworking system 102. For embodiments in which the third party 112 addsthe digital signature, the social networking system 102 sends thedigital signature or image of the digital signature to the third-partydevice 106 for the third party 112 to add to the digital document.

As noted above, in addition to adding a digital signature to a digitaldocument, in certain embodiments, the social networking system 102provides selectable options within the messaging thread for the user 122a to share her support for the third party 112 with other users invarious digital forums of the social networking system 102. As shown inFIG. 2C, for example, the social networking system 102 optionallyperforms the act 236 of generating an automated message comprising apost-sharing option and/or a message-sharing option. As furtherindicated by the arrow associated with the act 236, the socialnetworking system 102 generates this automated message within themessage thread and sends the automated message to the client device 116a.

Both the post-sharing option and the message-sharing options areselectable options. In some embodiments, the post-sharing optionincludes a text, image, or other indicator that prompts or requests theuser 122 a to post a suggested digital content item to a timelineindicating that the user supports the third party 112. Similarly, themessage-sharing option includes a text, image, or other indicator thatprompts or request the user 122 a to notify other users using suggestedmessages in messaging threads that the user 122 a supports the thirdparty 112. In some instances, the post-sharing option andmessage-sharing option facilitate actions that prompt digital signaturesfrom other users of the digital document.

As further shown in FIG. 2C, after receiving the automated messagecomprising the post-sharing option, the client device 116 a optionallyperforms the act 238 of detecting a selection of the post-sharingoption. In response to receiving an indication of that selection, thesocial networking system 102 optionally performs the act 240 ofproviding a suggested digital content item to the client device 116 a.

The suggested digital content item may be any digital image, photo,text, symbol, video, file, or any combination thereof that indicates theuser 122 a supports the third party 112. For example, in someembodiments, the suggested digital content item includes an image orvideo representing a cause and a text indicating that the user 122 adigitally signed a digital document associated with the third party 112,such as by digitally signing a petition or pledge. By contrast, in someembodiments, the suggested digital content item comprises an image orvideo of a product or service and a text indicating that the user 122 apurchased the product or service from the third party 112. In some suchembodiments, the image, video, or text do not specifically reference adigital document, such as by omitting mention of a contract oragreement.

Additionally, in certain embodiments, the suggested digital content itemincludes an associated selectable option that (upon selection) triggersthe social networking system 102 to provide to a client device amessaging thread between the selecting user and the third party 112. Inother words, the selectable option triggers the social networking system102 to generate automated messages within a messaging thread that promptthe selecting user to digitally sign a digital document for the thirdparty 112.

Regardless of the format of (or communication within) the suggesteddigital content item, the social networking system 102 sends thesuggested digital content item to the client device 116 a forpresentation. As shown in FIG. 2C, the client device 116 a optionallyperforms the act 242 of presenting the suggested digital content item.In some embodiments, the messaging application 120 a or the socialnetworking application 118 a include computer-executable instructionsthat, when executed by the client device 116 a, cause the client device116 a to present the suggested digital content item in a format forposting on a timeline or newsfeed for the user 122 a. In other words,the client device 116 a presents the suggested digital content item in aformat that previews how the suggested digital content item would appearto another user within a timeline or newsfeed.

In addition to presenting the suggested digital content item, in someembodiments, the client device 116 a further enables the user 122 a toedit the suggested digital content item. As shown in FIG. 2C, the clientdevice 116 a optionally performs the act 244 of editing the suggesteddigital content item. For example, in some instances, the messagingapplication 120 a or the social networking application 118 a includecomputer-executable instructions that, when executed by the clientdevice 116 a, cause the client device 116 a to present options to edit adigital image, photo, text, symbol, video, or file within the suggesteddigital content item. By contrast, in some embodiments, the instructionsprohibit or limit editing of the suggested digital content item. Forexample, the client device 116 a optionally limits the user 122 a toediting only a portion of a text within the suggested digital contentitem.

Regardless of whether the user 122 a edits the suggested digital contentitem, the client device 116 a optionally performs the act 246 ofdetecting a selection to add the suggested digital content item. Inresponse to receiving an indication of that selection, the socialnetworking system 102 optionally performs the act 250 of adding thesuggested digital content item to a timeline. For example, in certainembodiments, the client device 116 a receives a confirmation from theuser 122 a to post the suggested digital content item to a timeline ofthe user 122 a. The client device 116 a then sends to the socialnetworking system 102 data encoded to indicate a confirmation from theuser 122 a to add the suggested digital content item. The socialnetworking system 102 in turn posts the suggested digital content itemto a timeline of the user 122 a. Alternatively, the client device 116 areceives and sends a confirmation from the user 122 a to add an editedversion of the suggested digital content item to a timeline of the user122 a, and the social networking system 102 posts the edited version toa timeline of the user 122 a.

As shown in FIG. 2D, in addition to processing the post-sharing option,the client device 116 a optionally performs the act 250 of detecting aselection of the message-sharing option. In response to receiving anindication of that selection, the social networking system 102optionally performs the act 252 of providing a list of potentialrecipients to the client device 116 a and the act 254 of providing asuggested message to the client device 116 a. For example, in someembodiments, the social networking system 102 provides a list of userswith whom the user 122 a is connected through the social networkingsystem 102 as potential recipients of the suggested message, such as alist of friends or followers of the user 122 a. In certain embodiments,the social networking system 102 provides the list of potentialrecipients with a selectable option for each potential recipient to beadded as an addressee of a message within an additional messagingthread.

Similar to the suggested digital content item, the suggested message maybe a digital image, photo, text, symbol, video, file, or any combinationthereof that indicates the user 122 a supports the third party 112. Forexample, in certain embodiments, the suggested message comprises athumbnail for the digital document and a text indicating that the user122 a digitally signed the digital document associated with the thirdparty 112. By contrast, in some embodiments, the suggested messagecomprises an image or video of a product or service and a textindicating that the user 122 a purchased the product or service from thethird party 112. In some such embodiments, the image, video, or text donot specifically reference a digital document, such as by omittingmention of a contract or agreement.

Additionally, in certain embodiments, the suggested message includes anassociated selectable option that (upon selection) triggers the socialnetworking system 102 to provide to a client device a messaging threadbetween the recipient of the suggested message and the third party 112.In other words, as above, the selectable option triggers the socialnetworking system 102 to generate automated messages within a messagingthread that prompt the recipient of the suggested message to digitallysign a digital document for the third party 112.

As further shown in FIG. 2D, the client device 116 a optionally performsthe act 256 of presenting the list of potential recipients and thesuggested message. In some embodiments, the client device 116 aseparately presents the list of potential recipients and the suggestedmessage. In other embodiments, the client device 116 a presents the listof potential recipients and the suggested message within a singlegraphical user interface.

As suggested above, in some embodiments, the client device 116 apresents the list of potential recipients with a selectable option foreach potential recipient. In such embodiments, the selectable optionprompts the client device 116 a to add the selected recipient as anaddressee of the suggested message within an additional messagingthread. In one such embodiment, the messaging application 120 a includescomputer-executable instructions that, when executed by the clientdevice 116 a, cause the client device 116 a to present an address bookof users with whom the user 122 a is connected through the socialnetworking system 102, such as a list of friends or followers of theuser 122 a. The user 122 a could select one or more of these users as anaddressee for the suggested message.

In addition to presenting the suggested message, the client device 116 aalso includes options to edit the suggested message. For example, insome instances, the messaging application 120 a includescomputer-executable instructions that, when executed by the clientdevice 116 a, cause the client device 116 a to present options to edit adigital image, photo, text, symbol, video, or file within the suggestedmessage. By contrast, in some embodiments, the instructions prohibit orlimit editing of the suggested message. For example, the client device116 a optionally limits the user 122 a to editing only a portion of atext or deleting an image or video within the suggested message.

As further shown in FIG. 2D, after presenting the list of potentialrecipients and the suggested message, the client device 116 a performs aset of acts that culminates in sending the suggested message.Specifically, the client device 116 a optionally performs the act 258 ofdetecting a selection of recipient(s), the act 260 of detecting aselection to send the suggested message, and the act 262 of sending thesuggested message. As suggested above, the client device 116 a detects aselection by the user 122 a of recipient(s) from the list of potentialrecipients or from independent input by the user 122 a. As for thelatter input, the client device 116 a optionally detects input of a nameor address of a user of the social networking system 102 as a recipientof the suggested message.

Upon detecting a selection by the user 122 a to send the suggestedmessage to the selected recipient(s), the client device 116 a sends thesuggested message. As suggested above, the client device 116 a may sendan edited or unedited version of the suggested message. Although notshown in FIG. 2D, upon receipt of the suggested message from the clientdevice 116 a, the social networking system 102 generates (or adds) thesuggested message within an additional messaging thread between the user122 a and the selected recipient(s).

Turning back now to FIGS. 3A-3B, this figure illustrates arepresentation of a sequence of acts 302-324 that the social networkingsystem 102, the third-party device 106, or the client device 116 aperform in the alternative (or in addition) to the acts 214-234 shown inFIGS. 2A-2B. As alternative or additional acts, FIGS. 3A-3B illustratesoptions provided by the social networking system 102 that facilitatepaying the third party 112 within a messaging thread and adding an emailaddress of the user 122 a to an email-distribution list.

As shown in FIG. 3A, the social networking system 102 optionallyperforms the act 302 of generating an automated message comprising asignature option, a payment option, and/or an email-distribution option.In comparison to the automated message generated as part of the act 214shown in FIG. 2A, the automated message generated as part of the act 302includes additional options—the payment option and/or theemail-distribution option. This disclosure describes each of the paymentoption and the email-distribution option in turn. In some embodiments,the payment option comprises a selectable option that (upon selection)triggers the social networking system 102 to provide tools for payingthe third party 112. In some instances, the payment option includes atext, image, or other indicator that prompts or requests the user 122 ato pay the third party 112.

Regardless of the form of the payment option, the corresponding paymentto the third party 112 may be for different purposes. For example, insome embodiments, the payment comprises a donation to the third party112. In other embodiments, the payment comprises compensation paid tothe third party 112 in exchange for a product or service.

As indicated by the arrow associated with the act 302, the socialnetworking system 102 sends the automated message to the client device116 a for presentation within a graphical user interface. As furthershown in FIG. 3A, after receiving the automated message comprising thepayment option, the client device 116 a optionally performs the act 304of detecting a selection of the payment option. In response to detectingthat selection, the client device 116 a optionally performs the act 308of generating payment fields within a payment interface and the act 310of receiving user input indicating a payment method and a paymentamount.

As used in this disclosure, the term “payment field” refers to a digitalfield in which payment information is input. For example, a paymentfield may comprise a digital field for entering a credit or debit cardnumber, a card security code, an expiration date, or a cardholder name.As another example, a payment field may comprise a digital field forentering in a payment amount. Relatedly, a “payment interface” refers toa graphical user interface for entering or processing paymentinformation. The payment interface may be a graphical user interface forFacebook's Messenger Pay or a third-party payment service.

For example, in some embodiments, the client device 116 a generatespayment fields with a prepopulated credit or debit card number, anexpiration date, and/or a cardholder name within a payment interfacebased on payment information saved by the social networking system 102.Additionally, in some embodiments, the client device 116 a generates apayment field for a payment amount and a payment field for a creditsecurity code.

When performing the act 310, in some embodiments, the client device 116a receives user input comprising a confirmation from the user 122 a thatthe payment fields include a proper payment method (e.g., by selectionof a selectable option), user input indicating a payment amount (e.g.,by selection of a selectable option or text entry), and user inputindicating a credit security code (e.g., by text entry). In addition,the client device 112 a optionally receives user input confirming thatthe user 122 a has selected an option to proceed with the payment usingthe entered payment information.

Additionally, or alternatively, in some embodiments, the client device116 a generates payment fields for a credit or debit card number, anexpiration date, a cardholder name, a credit security code, and apayment amount within a payment interface, but without any prepopulatedpayment information. In some such embodiments, the client device 116 areceives user input comprising entries from the user 122 a for thecredit or debit card number, expiration date, cardholder name, creditsecurity code, and payment amount (e.g., by text entry). In addition,the client device 112 a optionally receives user input confirming thatthe user 122 a has selected an option to proceed with the payment usingthe entered payment information.

As indicated by the arrow associated with the act 310, after receiving aconfirmation from the user 122 a, the client device 116 a sends paymentinformation to the social networking system 102 for processing. Forexample, in some embodiments, the client device 116 a sends (and thesocial networking system 102 receives) an indication of a donationamount and a payment method and an indication of a confirmation from theuser 122 a. In some such embodiments, the client device 116 a sends (andthe social networking system 102 receives) digitally encoded data thatcommunicates a donation amount, a payment method, and a selection of aconfirmation option by the user 122 a.

As further shown in FIG. 3A, after receiving payment information andconfirmation from the client device 116 a, the social networking system102 performs the act 312 of processing a payment for the third party112. For example, the social networking system 102 may process adonation from the user 122 a for the third party 112 using a donationamount and a payment method entered within the payment fields. Whenprocessing the payment, the social networking system 102 optionally usesthe methods and systems disclosed in Facilitating Sending and Receivingof Payments Using Message-Based Contextual Prompts, U.S. patentapplication Ser. No. 14/524,380, filed 27 Oct. 2014; Facilitating SameDay Payment Transactions, U.S. patent application Ser. No. 14/572,275,filed 16 Dec. 2014; Facilitating Sending and Receiving ofPeer-to-Business Payments, U.S. patent application Ser. No. 14/577,410,filed 19 Dec. 2014; or Facilitating Sending and Receiving ofPeer-to-Peer Payments, U.S. patent application Ser. No. 14/525,008,filed 27 Oct. 2014, each of which is incorporated in its entirety byreference.

In addition to processing a payment, in some embodiments, the socialnetworking system 102 notifies the third party 112 of the payment fromthe user 122 a. As shown in FIG. 3A, the social networking system 102optionally performs the act 314 of sending a notice of payment to thethird-party device 106. For example, in some embodiments, the socialnetworking system 102 generates an automated message within themessaging thread between the third party 112 and the user 122 acomprising a text notifying the third party 112 of the payment. Thesocial networking system 102 sends this automated message to thethird-party device 106. Alternatively, in some embodiments, the socialnetworking system 102 sends an email to the third-party device 106notifying the third party 112 of the payment.

As noted above, in addition to the payment option, in some embodiments,the social networking system 102 generates an automated messagecomprising an email-distribution option. The email-distribution optioncomprises a selectable option that (upon selection) triggers the socialnetworking system 102 to provide tools for adding an email address to anemail-distribution list of the third party 112. By adding an emailaddress to the email-distribution list, the user 122 a chooses toreceive emails from the third party 112. In some instances, theemail-distribution option includes a text, image, or other indicatorthat prompts or requests the user 122 a to add an email address to anemail-distribution list of the third party 112.

As shown in FIG. 3B, the client device 116 a optionally performs the act316 of detecting a selection of the email-distribution option. Inresponse to receiving an indication of that selection, the socialnetworking system 102 optionally performs the act 318 of generating anautomated message comprising an email address. As indicated by the arrowassociated with the act 318, the social networking system 102 sends theautomated message comprising the email address to the client device 116a for presentation within a graphical user interface.

When generating an automated message as part of the act 318, in someembodiments, the social networking system 102 generates a suggestedmessage within the messaging thread for the user 122 a to send to thethird party 112. The suggested message indicates that the user 122 a hasselected to add her email address to the email-distribution list of thethird party 112. As described below, FIG. 4G includes an example of asuggested message.

Regardless of the format of the automated message, in some embodiments,the client device 116 a generates an automated message comprising anemail address associated with an account of the user 122 a for thesocial networking system 102. The email address may, for example, bedesignated by the user 122 a within the profile information of thesocial networking system 102. As another example, in some embodiments,the email address may be associated with an account of the user 122 afor the messaging application 120 a.

As further shown in FIG. 3B, the client device 116 a optionally performsthe act 320 of detecting a selection to add the email address to theemail-distribution list. For example, in some embodiments, the clientdevice 116 a detects a selection by the user 122 a to send the suggestedmessage to the third-party device 106. Alternatively, in someembodiments, the client device 116 a detects a selection by the user 122a of a selectable option to send a notice to the third-party device 106for the third party 112 to add the email address to theemail-distribution list.

After detecting the selection to add the email address, the clientdevice 116 a optionally performs the act 322 of sending (to the socialnetworking system 102) a notice to add the email address to theemail-distribution list. In response to receiving the notice, the socialnetworking system 102 performs the act 324 of sending (to thethird-party device 106) the notice to add the email address to theemail-distribution list. In some embodiments, the client device 116 a(and the social networking system 102) send the suggested messagedescribed above indicating that the user 122 a has selected to add heremail address to the email-distribution list of the third party 112. Bycontrast, in some embodiments, the client device 116 a (and the socialnetworking system 102) send the email address to a designated emailaddress for the third party 112.

Turning now to FIGS. 4A-4I, these figures generally illustrate userinterfaces of the client device 116 a presenting a newsfeed andautomated messages within a messaging thread for a verified user todigitally sign a digital document, pay a third party, or join anemail-distribution list. Consistent with the disclosure above, thesocial networking application 118 a and the messaging application 120 aeach comprise computer-executable instructions that cause the clientdevice 116 a to perform tasks depicted in FIGS. 4A-4I. Rather thanrepeatedly describe the computer-executable instructions within thesocial networking application 118 a or the messaging application 120 aas causing the client device 116 a to perform such tasks, thisdisclosure primarily describes the client device 116 a as simplyperforming tasks as a shorthand for that relationship. Additionally,while this disclosure refers to touch gestures as examples of userinteractions when describing 4A-4I, in additional or alternativeembodiments, the client device 116 a detects any suitable userinteraction, including a mouse click, stylus interaction, or a keyboardinput.

As shown in FIG. 4A, the client device 116 a presents a newsfeed 412within a graphical user interface 404 (“GUI 404”) of a touch screen 402.Specifically, in response to the user 122 a selecting asocial-networking-application thumbnail (not shown) by touch gesture,the client device 116 a initiates the social networking application 118a and requests a newsfeed for the user 122 a. Upon receiving thatrequest, the social networking system 102 provides the newsfeed 412comprising digital content items to the client device 116 a forpresentation within the GUI 404. The client device 116 a presents thedigital content items within the GUI 404 as the user 122 a scrollsthrough the newsfeed 412. As shown, the newsfeed 412 includes a firstdigital content item 406 and a second digital content item 410.

The first digital content item 406 comprises images and text from thethird party 112. The social networking system 102 generates the firstdigital content item 406 based on the images and text sent from thethird-party device 106. Consistent with the disclosure above, the socialnetworking system 102 adds the first digital content item 406 to thenewsfeed 412 for the user 122 a as sponsored content for an advertisingcampaign. In the embodiment shown in FIG. 4A, the first digital contentitem 406 includes text that promotes a social cause and prompts the user122 a to sign a digital document, that is, a digital petition.

In contrast to the first digital content item 406, the second digitalcontent item 410 comes from a contact, friend, or follower of the user122 a. In other words, the second digital content item 410 is notsponsored content for an advertising campaign for the third party 112,but social networking activity from another user that the socialnetworking system 102 adds to the newsfeed 412. Accordingly, in someembodiments, the newsfeed 412 comprises both social networking activityand digital content items sponsored by third parties.

Turning back now to the first digital content item 406. The firstdigital content item 406 includes a selectable option 408. As shown inFIG. 4A, the selectable option 408 is a call-to-action button. Inalternative embodiments, however, other selectable options may be usedconsistent with the disclosure above. The selectable option 408 includestext that solicits support for the third party 112 (i.e., “GetInvolved”). When the client device 116 a detects a selection of theselectable option 408, the client device 116 a sends an indication ofthat selection to the social networking system 102. The indicationtriggers the social networking system 102 to provide to the clientdevice 116 a a messaging thread between the user 122 a and the thirdparty 112.

FIG. 4B illustrates an example of a messaging thread between the user122 a and the third party 112. As shown in FIG. 4B, the client device116 a presents a messaging-thread display 416 within a graphical userinterface 414 (“GUI 414”) of the touch screen 402. Specifically, inresponse to the user 122 a selecting the selectable option 408 by touchgesture, the client device 116 a initiates the messaging application 120a and sends a request to the social networking system 102 for amessaging thread between the user 122 a and the third party 112. Uponreceiving that request, the social networking system 102 provides themessaging thread to the client device 116 a for presentation within theGUI 414.

As further shown in FIG. 4B, the social networking system 102 uses achatbot to generate a first automated message 418. The first automatedmessage 418 includes a textual message 419 and a digital-documentthumbnail 420. The textual message 419 indicates delivery of a digitaldocument (i.e., a digital petition for FIG. 4B) to the user 122 a withinthe messaging thread. The digital-document thumbnail 420 includes aportion of the digital document's text. To facilitate presentation ofadditional text, the digital-document thumbnail 420 also contains anadditional-text option 422. When the client device 116 a detects aselection by the user 122 a of the additional-text option 422, theclient device 116 a presents additional text of the digital document.

In addition to the textual message 419 and the digital-documentthumbnail 420, the first automated message 418 includes a signatureoption 424, a donate option 426, and an email-distribution option 428.Consistent with the disclosure above, the signature option 424 is aselectable option that (upon selection) triggers the social networkingsystem 102 to provide tools for the user 122 a to digitally sign thedigital document. By contrast, the donate option 426 is a selectableoption that (upon selection) triggers the social networking system 102to provide tools for donating to the third party 112. Finally, theemail-distribution option 428 is a selectable option that (uponselection) triggers the social networking system 102 to provide toolsfor adding an email address to an email-distribution list of the thirdparty 112.

Turning back now to the additional-text option 422, FIG. 4C illustratesthe client device 116 a presenting additional text from the digitaldocument. As indicated above, in response to detecting a selection ofthe additional-text option 422 by touch gesture, the client device 116 apresents additional text of the digital document. Accordingly, in FIG.4C, the digital-document thumbnail 420 includes additional text of thedigital document. In some embodiments, the client device 116 a presentsan entire text of a digital document in response to detecting aselection of the additional-text option 422.

As also noted above, in some embodiments, the signature option 424triggers the social networking system 102 to provide tools for digitallysigning the digital document. FIG. 4D illustrates an example of suchtools. As shown in FIG. 4D, the client device 116 a detects a selectionby the user 122 a of the signature option 424. In response to receivingan indication of the selection of the signature option 424, the socialnetworking system 102 uses the chatbot to generate a second automatedmessage 430 within the messaging thread between the user 122 a and thethird party 112.

The client device 116 a presents the second automated message 430 withinthe messaging-thread display 416. As further shown in FIG. 4D, thesecond automated message 430 includes a textual message 431 indicatingdelivery of a digital signature for the user 122 a within the messagingthread. The second automated message 430 also includes adigital-signature image 432. This digital-signature image 432 is animage (e.g., a .JPG file) of a digital signature previously drawn by theuser 122 a that the social networking system 102 associated with anaccount of the user 122 a and stored for later use.

As noted above, in some embodiments, the social networking system 102provides tools for the user 122 a to either confirm and use a digitalsignature provided by the social networking system 102 or create a newdigital signature. The second automated message 430 includes such tools.Specifically, the second automated message 430 includes an add-signatureoption 434 and a new-signature option 436. Consistent with thedisclosure above, the add-signature option 434 is a selectable optionthat (upon selection) triggers the social networking system 102 to addthe digital signature depicted in the digital-signature image 432 to thedigital document. By contrast, the new-signature option 436 is aselectable option that (upon selection) triggers the social networkingsystem 102 to provide tools for the user 122 a to input a new digitalsignature.

For example, the add-signature option 434 initiates the followingactions. In response to detecting a selection by the user 122 a of theadd-signature option 434, the client device 116 a sends an indication ofthat selection to the social networking system 102. Upon receiving theindication of that selection, the social networking system 102 adds thedigital signature depicted in the digital-signature image 432 to thedigital document. In the embodiment shown in FIG. 4D, the socialnetworking system 102 adds the digital signature to a digital petitionstored by the social networking system 102 for the third party 112. Insome such embodiments, the social networking system 102 adds thedigital-signature image 432 to one of many digital fields for digitalsignatures within the digital petition.

Turning now to FIG. 4E, this figure illustrates some of the tools thatthe new-signature option 436 triggers the social networking system 102to provide. In response to detecting a selection by the user 122 a ofthe new-signature option 436, the client device 116 a sends anindication of that selection to the social networking system 102. Uponreceiving the indication of that selection, the social networking system102 uses the chatbot to generate a third automated message 438. Thethird automated message 438 includes a textual message 439 directing theuser 122 a to digitally sign his name within a digital signature field440.

As shown in FIG. 4E, the third automated message 338 further includesthe digital signature field 440. The digital signature field 440 is adigital space in which the user 122 a may input a new digital signature.As indicated by FIG. 4E, the client device 116 a detects touch gesturesfrom the user 122 a drawing a new digital signature within the digitalsignature field 440. The client device 116 a then presents the newdigital signature within the GUI 414 as shown in FIG. 4E. In someembodiments, in response to detecting a selection by the user 122 a of arefresh-field option 442, the client device 116 a deletes any digitalsignature within the digital signature field 440 and refreshes thedigital signature field 440 to appear empty.

In addition to detecting a new digital signature, the client device 116a further detects a selection by the user 122 a of an add-signatureoption 444. As suggested above, the add-signature option 444 is aselectable option that (upon selection) triggers the social networkingsystem 102 to add the new digital signature (drawn within the digitalsignature field 440) to the digital document. The add-signature option444 further triggers the social networking system 102 to use the chatbotto generate a fourth automated message 446 within the messaging thread.

As shown in FIG. 4E, the social networking system 102 provides thefourth automated message 446 in response to receiving an indication ofselection of the add-signature option 444. After receiving the fourthautomated message 446, the client device 116 a presents the fourthautomated message 446 within the messaging-thread display 416. Thefourth automated message 446 includes a textual message 448. Thistextual message 448 acknowledges that the new digital signature has beenadded to the digital document.

As further shown in FIG. 4E, the fourth automated message 446 alsoincludes three selectable options—a post-sharing option 450, amessaging-sharing option 452, and a return-to-newsfeed option 454. Thepost-sharing option 450 (upon selection) triggers the social networkingsystem 102 to provide a suggested digital content item for the user 122a to post on a timeline. Similarly, the message-sharing option 452 (uponselection) triggers the social networking system 102 to generate asuggested message within a messaging thread for the user 122 a to sendto other users. By contrast, the return-to-newsfeed option 454 (uponselection) causes the social networking system 102 to redirect theclient device 116 a to back to the social networking application 118 aand present a graphical user interface of the social networkingapplication 118 a, such as by again presenting the newsfeed 412.

In describing FIGS. 4B, 4D, and 4E, this disclosure refers to the firstautomated message 418, the second automated message 430, the thirdautomated message 438, and the fourth automated message 446 in numericalorder. But the numeric references of first, second, third, and fourth donot imply a set order. The social networking system 102 may generateautomated messages in a different order. For example, in someembodiments, the social networking system 102 generates the firstautomated message 418, the second automated message 430, and the fourthautomated message 446, but without the third automated message 438.

FIG. 4F illustrates an example of the social networking system 102responding to a selection of the post-sharing option 450. Specifically,in response to receiving an indication that the user 122 a selects thepost-sharing option 450, the client device 116 a transitions back to thesocial networking application 118 a and presents a suggested digitalcontent item 456 within the GUI 404. The suggested digital content item456 includes a textual message 460 that indicates the user 122 asupports the third party 112. In the embodiment shown in FIG. 4F, thetextual message 460 indicates that the user 122 a signed the digitaldocument.

As further shown in FIG. 4F, the suggested digital content item 456includes a third party's textual message 462 and a third party's image464. As their names suggest, the social networking system 102 receivedthe third party's textual message 462 and the third party's image 464from the third party 112 to include within the suggested digital contentitem 456. The textual message 460, the third party's textual message462, and the third party's image 464 together form part of the suggesteddigital content item 456 that promote a cause for the third party 112.In other embodiments, the social networking system 102 generates andprovides different suggested digital content items that promote aproduct or service for the third party 112.

In addition to the promotional content, the suggested digital contentitem 456 further includes an additional selectable option 466. Like theselectable option 408 associated with the first digital content item 406above, the additional selectable option 466 (upon selection) triggersthe social networking system 102 to provide to a different client devicea messaging thread between a selecting user and the third party 112. Inother words, the additional selectable option triggers the socialnetworking system 102 to generate automated messages within a messagingthread that prompts the selecting user to digitally sign a digitaldocument for the third party 112. The automated messages shown in FIGS.4B-4E provide examples of such automated messages.

To encourage the user 122 a to post the suggested digital content item456, the client device 116 a further presents a post option 458 withinthe GUI 404. By providing the post option 458 and the suggested digitalcontent item 456 together, the social networking system 102 provideseasy-to-use options for the user 122 a to post the suggested digitalcontent item 456 with one (or a few) simple selections.

Upon detecting a selection by the user 122 a of the post option 458, theclient device 116 a sends an indication of that selection to the socialnetworking system 102. The social networking system 102 in turn adds thesuggested digital content item 456 to a timeline of the user 122 a. Onceposted on the timeline, the social networking system 102 adds thesuggested digital content item 456 to newsfeeds for other users of thesocial networking system 102.

Turing now to FIG. 4G, this figure illustrates an example of the socialnetworking system 102 responding to a selection of the message-sharingoption 452. Specifically, in response to receiving an indication thatthe user 122 a selects the message-sharing option 452, the client device116 a sends an indication of that selection to the social networkingsystem 102. In response to receiving that indication, the socialnetworking system 102 provides a potential-recipient list and asuggested message to the client device 116 a. The client device 116 a inturn presents a potential-recipient list 468 and a suggested message 470within the GUI 414.

As shown in FIG. 4G, the potential-recipient list 468 includes a list ofusers of the social networking system 102 with whom the user 122 a isconnected. Specifically, the potential-recipient list 468 includesfriends or followers of the user 122 a who correspond to recipientoptions 470 a-470 d. When the client device 116 a detects a selection ofone of the recipient options 470 a-470 d by the user 122 a, the clientdevice 116 a adds an indicator of the user corresponding to the selectedrecipient option to an addressee field 474. As suggested by FIG. 474,the addressee field 474 indicates the users who have been selected toreceive the suggested message 472.

Turning back now to the suggested message 472, the suggested message 472includes a textual message 476. The textual message 476 indicates thatthe user 122 a supports the third party 112. Specifically, the textualmessage 460 indicates that the user 122 a signed the digital document.

The suggested message 472 further includes a digital-document thumbnail478, a signature option 480, a donation option 482, and anemail-distribution option 484. After the client device 116 a sends thesuggested message 472 to a recipient user, the digital-documentthumbnail 478, signature option 480, donation option 482, andemail-distribution option 484 respectively resemble and functionsimilarly as the digital-document thumbnail 420, signature option 424,donation option 426, and email-distribution option 428 shown in FIG.4B—with at least one important difference.

When a recipient user receives the suggested message 472 within amessaging thread—and selects the digital-document thumbnail 478,signature option 480, donation option 482, or email-distribution option484—the social networking system 102 provides an additional messagingthread between the recipient user and the third party 112 to therecipient user's device. After the client device 116 a sends thesuggested message 472 to a recipient user, the digital-documentthumbnail 478, signature option 480, donation option 482, andemail-distribution option 484 otherwise function the same as thedigital-document thumbnail 420, signature option 424, donation option426, and email-distribution option 428 shown in FIG. 4B.

As further shown in FIG. 4G, the GUI 414 includes a send option 486.Upon detecting a selection by the user 122 a of the send option 486, theclient device 116 a sends the suggested message 472 (through the socialnetworking system 102) to one or more recipient users within theaddressee field 474. By providing the send option 486 and the suggestedmessage 472 together, the social networking system 102 provideseasy-to-use options for the user 122 a to send a suggested messageindicating support for the third party 112 to other users with one (or afew) simple selections. Once sent, the suggested message 472 likewisepromotes a cause for the third party 112. As indicated above, asuggested message may also promote a product or service for the thirdparty 112.

Turning now to FIG. 4H, as noted above, in some embodiments, the donateoption 426 comprises a selectable option that (upon selection) triggersthe social networking system 102 to provide tools for donating to thethird party 112. FIG. 4H illustrates an example of such tools. As shownin FIG. 4H, the client device 116 a detects a selection by the user 122a of the donation option 426. In response to receiving an indication ofthe selection of the donation option 426, the client device 116 agenerates payment fields 490 a-490 c within a payment interface 488. Asshown the payment interface 488 resembles a payment interface forFacebook's Messenger Pay.

The payment fields 490 a-490 c each serve different purposes. Thepayment field 490 a is a digital field for entering a donation amount.The payment field 490 b is a digital field for entering a card type. Thepayment field 490 c is a digital field for a card number. As shown inFIG. 4G, the payment field 490 a includes a donation amount detected bythe client device 116 a from touch gestures by the user 122 acorresponding to a numerical digit interface 496. By contrast, thepayment field 490 b includes a card type for a credit card number savedby the social networking system 102 for the user 122 a. The paymentfield 490 c similarly includes a portion of a credit card number savedby the social networking system 102 for the user 122 a.

Although not shown in FIG. 4H, in alternative embodiments, the clientdevice 116 a generates blank payment fields for a credit or debit cardnumber, an expiration date, a cardholder name, a credit security code,and a payment amount. For example, the client device 116 a optionallygenerates such blank payment fields in response to detecting a selectionof a change-payment-method option 492 included within the paymentinterface 488. Upon detecting input from the user 122 a corresponding toeach blank payment field, the client device 116 a presents paymentinformation within the formerly blank payment fields.

As further shown in FIG. 4H, the client device 116 a further generatesand presents a donate-confirmation option 494. Upon detecting aselection by the user 122 a of the donate-confirmation option 494, theclient device 116 a sends payment information to the social networkingsystem 102 for processing of a donation. Specifically, the client device116 a sends a credit card number, an expiration date, a cardholder name,a credit security code, and a payment amount to the social networkingsystem 102 for processing of the donation. Consistent with thedisclosure above, the social networking system 102 processes thedonation.

Turning now to FIG. 4I, as noted above, the email-distribution option428 is a selectable option that (upon selection) triggers the socialnetworking system 102 to provide tools for adding an email address to anemail-distribution list of the third party 112. FIG. 4H illustrates anexample of an automated message that facilitates adding an email addressto an email-distribution list of the third party 112. As shown in FIG.4I, the client device 116 a detects a selection by the user 122 a of theemail-distribution option 428 and sends an indication of that selectionto the social networking system 102. In response to receiving thatindication, the social networking system 102 users the chatbot togenerate a suggested message 497 within the messaging thread between theuser 122 a and the third party 112.

Upon receiving the suggested message 497, the client device 116 apresents the suggested message 497 within the messaging-thread display416. As shown in FIG. 4I, the suggested message 497 indicates that theuser 122 a has selected to add his email address to anemail-distribution list of the third party 112. The suggested message497 further includes an email address entered within profile informationfor an account of the user 122 a.

In addition to the suggested message 497, the client device 116 afurther presents a send option 498 that (upon selection) sends thesuggested message 497 to the social networking system 102 to add to themessaging thread and to relay to the third-party device 106.

Turning now to FIG. 5, this figure illustrates a flowchart of a seriesof acts in a method 500 of generating automated messages within amessaging thread for a verified user of a social networking system todigitally sign a digital document in accordance with one or moreembodiments. While FIG. 5 illustrates acts according to one embodiment,alternative embodiments may omit, add to, reorder, and/or modify any ofthe acts shown in FIG. 5.

As shown in FIG. 5, the method 500 includes an act 510 of providing to aclient device a newsfeed comprising a digital content item for a thirdparty. In particular, in some embodiments, the act 510 includesproviding, to a client device associated with a user of a socialnetworking system, a newsfeed of social networking activity, thenewsfeed comprising a digital content item for a third party.

As further shown in FIG. 5, the method 500 includes an act 520 ofreceiving from the client device a selection of a selectable option. Inparticular, in some embodiments, the act 520 includes receiving from theclient device a selection by the user of a selectable option associatedwith the digital content item.

As further shown in FIG. 5, the method 500 includes an act 530 ofproviding to the client device a messaging thread between the user andthe third party. In particular, in some embodiments, the act 530includes, in response to receiving the selection of the selectableoption, providing to the client device a messaging thread between theuser and the third party.

As further shown in FIG. 5, the method 500 includes an act 540 ofgenerating a first automated message within the messaging threadcomprising a signature option. In particular, in some embodiments, theact 540 includes generating a first automated message within themessaging thread comprising a signature option to digitally sign adigital document.

For example, in some embodiments, generating the first automated messagecomprises generating the first automated message within the messagingthread comprising a donate option for the user to donate money to thethird party. Additionally, or alternatively, in some embodiments,generating the first automated message comprises generating the firstautomated message within the messaging thread comprising anemail-distribution option for the user to receive emails from the thirdparty. Relatedly, in some embodiments, generating the first automatedmessage comprises generating the first automated message within themessaging thread comprising a view option to view the digital documentin its entirety.

As further shown in FIG. 5, the method 500 includes an act 550 ofgenerating a second automated message within the messaging threadcomprising an image of a digital signature and an add-signature option.In particular, in some embodiments, the act 550 includes, in response toreceiving from the client device a selection by the user of thesignature option, generating a second automated message within themessaging thread comprising an image of a digital signature for the userand an add-signature option to add the digital signature to the digitaldocument.

For example, in some embodiments, generating the second automatedmessage comprises generating the second automated message within themessaging thread comprising an automatically generated image of adigital signature for the user based on a name designated for an accountof the user for the social networking system.

As further shown in FIG. 5, the method 500 includes an act 560 ofreceiving from the client device a selection of the add-signatureoption. In particular, in some embodiments, the act 560 includesreceiving from the client device a selection by the user of theadd-signature option.

As further shown in FIG. 5, the method 500 includes an act 570 ofverifying an identity of the user. For example, in some embodiments,verifying the identity of the user comprises comparing a location of theclient device and a device identifier of the client device to locationsand device identifiers of one or more client devices tracked within auser history for the user. Additionally, in certain embodiments,verifying the identity of the user occurs before providing the newsfeedof social networking activity.

As further shown in FIG. 5, the method 500 includes an act 580 of addingthe digital signature to the digital document. In particular, in someembodiments, the act 580 includes, based on receiving the selection ofthe add-signature option and verifying the identity of the user, addingthe digital signature to the digital document.

In addition to the acts 510-580, in some embodiments, the method 500further includes redirecting the client device to the newsfeed.Moreover, in certain embodiments, generating the second automatedmessage comprises generating the second automated message comprising anew-signature option to input a new digital signature; receiving fromthe client device the selection by the user of the add-signature optioncomprises: receiving from the client device a selection by the user ofthe new-signature option; providing to the client device within themessaging thread a digital signature field within which the user mayinput the new digital signature; receiving user input representing thenew digital signature within the digital signature field; and receivingfrom the client device a selection by the user to add the new digitalsignature to the digital document; and adding the digital signature tothe digital document comprises adding the new digital signature to thedigital document.

By contrast, in some embodiments, generating the second automatedmessage comprises generating the second automated message comprising apreloaded image of a previous digital signature of the user; andreceiving from the client device a selection by the user of theadd-signature option comprises receiving a confirmation from the clientdevice that the preloaded image of the previous digital signaturerepresents a signature of the user.

Additionally, in some embodiments that include the donate option, themethod 500 further includes receiving from the client device anindication of user input indicating a donation amount and a paymentmethod entered within payment fields; receiving from the client device aconfirmation to donate to the third party; and in response to receivingthe confirmation from the client device to donate to the third party,processing a donation from the user for the third party in the donationamount using the payment method.

Additionally, in some embodiments, the method 500 further includesreceiving from the client device a selection by the user of theemail-distribution option; generating a third automated message withinthe messaging thread comprising an email address associated with anaccount of the user for the social networking system; receiving from theclient device a selection by the user to add the email address to anemail-distribution list of the third party; and sending the emailaddress to the third party to add to the email-distribution list.

Relatedly, in some embodiments, the method 500 further includesreceiving from the client device the selection by the user to add theemail address to the email-distribution list of the third partycomprises receiving an updated email address for the user from theclient device; and sending the email address to the third party to addto the email-distribution list comprises sending the updated emailaddress to the third party to add to the email-distribution list. Insome such embodiments, receiving from the client device the selection bythe user to add the email address to the email-distribution list of thethird party comprises receiving a confirmation from the client device toadd the email address to the email-distribution list of the third party.

As suggested above, in some embodiments, the method 500 includes apost-sharing option. For example, in certain embodiments, the method 500includes generating a third automated message comprising a post-sharingoption for the social networking system to post a suggested digitalcontent item to the user's timeline indicating that the user supportsthe third party; receiving from the client device a selection by theuser of the post-sharing option; in response to receiving a selectionfrom the client device of the post-sharing option, providing to theclient device the suggested digital content item for the user'stimeline; and in response to receiving a confirmation from the clientdevice to post the suggested digital content item, posting the suggesteddigital content item to the user's timeline indicating that the usersupports the third party.

Relatedly, in some embodiments, providing to the client device thesuggested digital content item for the user's timeline comprisesproviding to the client device the suggested digital content itemcomprising an additional selectable option for users of the socialnetworking system to support the third party; and posting the suggesteddigital content item to the user's timeline comprises posting thesuggested digital content item comprising the additional selectableoption to the user's timeline.

Alternatively, in certain embodiments, providing to the client devicethe suggested digital content item for the user's timeline comprises:providing to the client device an edit option to edit a text of thesuggested digital content item indicating that the user supports thethird party; and receiving, from the client device, user input thatedits the text of the suggested digital content item; wherein postingthe suggested digital content item to the user's timeline comprisesposting the suggested digital content item with an edited text to theuser's timeline indicating that the user supports the third party.

Additionally, or alternatively, in some embodiments, generating thethird automated message comprising the post-sharing option for thesocial networking system to post the suggested digital content item tothe user's timeline indicating that the user supports the third partycomprises generating the third automated message comprising thepost-sharing option for the social networking system to post thesuggested digital content item to the user's timeline indicating thatthe user signed the digital document.

As also suggested above, in some embodiments, the method 500 includes amessage-sharing option. For example, in certain embodiments, the method500 includes generating a third automated message comprising amessage-sharing option to notify other users of the social networkingsystem in messaging threads that the user signed the digital document;receiving from the client device a selection by the user of themessage-sharing option; and providing a list of users of the socialnetworking system with whom the user is connected and a suggestedmessage indicating that the user supports the third party; in responseto receiving from the client device a selection by the user of anadditional user of the social networking system and a send option,generating the suggested message indicating that the user supports thethird party within an additional messaging thread between the user andthe additional user.

Relatedly, in some embodiments, generating the suggested messagecomprises generating the suggested message comprising an additionalselectable option for the additional user to digitally sign the digitaldocument.

FIG. 6 illustrates a block diagram of exemplary computing device 600that may be configured to perform one or more of the processes describedabove. One will appreciate that one or more computing devices such asthe computing device 600 may implement the social networking system 102.As shown by FIG. 6, the computing device 600 can comprise a processor602, a memory 604, a storage device 606, an I/O interface 608, and acommunication interface 610, which may be communicatively coupled by wayof a communication infrastructure 612. While an exemplary computingdevice 600 is shown in FIG. 6, the components illustrated in FIG. 6 arenot intended to be limiting. Additional or alternative components may beused in other embodiments. Furthermore, in certain embodiments, thecomputing device 600 can include fewer components than those shown inFIG. 6. Components of the computing device 600 shown in FIG. 6 will nowbe described in additional detail.

In one or more embodiments, the processor 602 includes hardware forexecuting instructions, such as those making up a computer program. Asan example and not by way of limitation, to execute instructions, theprocessor 602 may retrieve (or fetch) the instructions from an internalregister, an internal cache, the memory 604, or the storage device 606and decode and execute them. In one or more embodiments, the processor602 may include one or more internal caches for data, instructions, oraddresses. As an example and not by way of limitation, the processor 602may include one or more instruction caches, one or more data caches, andone or more translation lookaside buffers (“TLBs”). Instructions in theinstruction caches may be copies of instructions in the memory 604 orthe storage device 606.

The memory 604 may be used for storing data, metadata, and programs forexecution by the processor(s). The memory 604 may include one or more ofvolatile and non-volatile memories, such as Random Access Memory(“RAM”), Read Only Memory (“ROM”), a solid state disk (“SSD”), Flash,Phase Change Memory (“PCM”), or other types of data storage. The memory604 may be internal or distributed memory.

The storage device 606 includes storage for storing data orinstructions. As an example and not by way of limitation, storage device606 can comprise a non-transitory storage medium described above. Thestorage device 606 may include a hard disk drive (“HDD”), flash memory,an optical disc, a magneto-optical disc, magnetic tape, or a UniversalSerial Bus (“USB”) drive or a combination of two or more of these. Thestorage device 606 may include removable or non-removable (or fixed)media, where appropriate. The storage device 606 may be internal orexternal to the computing device 600. In one or more embodiments, thestorage device 606 is non-volatile, solid-state memory. In otherembodiments, the storage device 606 includes read-only memory (“ROM”).Where appropriate, this ROM may be mask programmed ROM, programmable ROM(“PROM”), erasable PROM (“EPROM”), electrically erasable PROM(“EEPROM”), electrically alterable ROM (“EAROM”), or flash memory or acombination of two or more of these.

The I/O interface 608 allows a user to provide input to, receive outputfrom, and otherwise transfer data to and receive data from computingdevice 600. The I/O interface 608 may include a mouse, a keypad or akeyboard, a touchscreen, a camera, an optical scanner, networkinterface, modem, other known I/O devices or a combination of such I/Ointerfaces. The I/O interface 608 may include one or more devices forpresenting output to a user, including, but not limited to, a graphicsengine, a display (e.g., a display screen), one or more output drivers(e.g., display drivers), one or more audio speakers, and one or moreaudio drivers. In certain embodiments, the I/O interface 608 isconfigured to provide graphical data to a display for presentation to auser. The graphical data may be representative of one or more graphicaluser interfaces and/or any other graphical content as may serve aparticular implementation.

The communication interface 610 can include hardware, software, or both.In any event, the communication interface 610 can provide one or moreinterfaces for communication (such as, for example, packet-basedcommunication) between the computing device 600 and one or more othercomputing devices or networks. As an example and not by way oflimitation, the communication interface 610 may include a networkinterface controller (“MC”) or network adapter for communicating with anEthernet or other wire-based network or a wireless NIC (“WNIC”) orwireless adapter for communicating with a wireless network, such as aWI-FI.

Additionally, or alternatively, the communication interface 610 mayfacilitate communications with an ad hoc network, a personal areanetwork (“PAN”), a local area network (“LAN”), a wide area network(“WAN”), a metropolitan area network (“MAN”), or one or more portions ofthe Internet or a combination of two or more of these. One or moreportions of one or more of these networks may be wired or wireless. Asan example, the communication interface 610 may facilitatecommunications with a wireless PAN (“WPAN”) (such as, for example, aBLUETOOTH WPAN), a WI-FI network, a WI-MAX network, a cellular telephonenetwork (such as, for example, a Global System for Mobile Communications(“GSM”) network), or other suitable wireless network or a combinationthereof.

Additionally, the communication interface 610 may facilitatecommunications various communication protocols. Examples ofcommunication protocols that may be used include, but are not limitedto, data transmission media, communications devices, TransmissionControl Protocol (“TCP”), Internet Protocol (“IP”), File TransferProtocol (“FTP”), Telnet, Hypertext Transfer Protocol (“HTTP”),Hypertext Transfer Protocol Secure (“HTTPS”), Session InitiationProtocol (“SIP”), Simple Object Access Protocol (“SOAP”), ExtensibleMark-up Language (“XML”) and variations thereof, Simple Mail TransferProtocol (“SMTP”), Real-Time Transport Protocol (“RTP”), User DatagramProtocol (“UDP”), Global System for Mobile Communications (“GSM”)technologies, Code Division Multiple Access (“CDMA”) technologies, TimeDivision Multiple Access (“TDMA”) technologies, Short Message Service(“SMS”), Multimedia Message Service (“MMS”), radio frequency (“RF”)signaling technologies, Long Term Evolution (“LTE”) technologies,wireless communication technologies, in-band and out-of-band signalingtechnologies, and other suitable communications networks andtechnologies.

The communication infrastructure 612 may include hardware, software, orboth that couples components of the computing device 600 to each other.As an example and not by way of limitation, the communicationinfrastructure 612 may include an Accelerated Graphics Port (“AGP”) orother graphics bus, an Enhanced Industry Standard Architecture (“EISA”)bus, a front-side bus (“FSB”), a HYPERTRANSPORT (“HT”) interconnect, anIndustry Standard Architecture (“ISA”) bus, an INFINIBAND interconnect,a low-pin-count (“LPC”) bus, a memory bus, a Micro Channel Architecture(“MCA”) bus, a Peripheral Component Interconnect (“PCI”) bus, aPCI-Express (“PCIe”) bus, a serial advanced technology attachment(“SATA”) bus, a Video Electronics Standards Association local (“VLB”)bus, or another suitable bus or a combination thereof.

A social-networking system may enable its users (such as persons ororganizations) to interact with the system and with each other. Thesocial-networking system may, with input from a user, create and storein the social-networking system a user profile associated with the user.The user profile may include demographic information,communication-channel information, and information on personal interestsof the user. The social-networking system may also, with input from auser, create and store a record of relationships of the user with otherusers of the social-networking system, as well as provide services (e.g.wall posts, photo-sharing, on-line calendars and event organization,messaging, games, or advertisements) to facilitate social interactionbetween or among users. Also, the social-networking system may allowusers to post photographs and other visual media items to a user'sprofile page (typically known as “wall posts” or “timeline posts”) or ina photo album, both of which may be accessible to other users of thesocial-networking system depending upon the user's configured privacysettings.

FIG. 7 illustrates an example network environment 700 of asocial-networking system. Network environment 700 includes a clientdevice 706, a social networking system 702, and a third-party system 708connected to each other by a network 704. Although FIG. 7 illustrates aparticular arrangement of client device 706, social networking system702, third-party system 708, and network 704, this disclosurecontemplates any suitable arrangement of client device 706, socialnetworking system 702, third-party system 708, and network 704. As anexample and not by way of limitation, two or more of client device 706,social networking system 702, and third-party system 708 may beconnected to each other directly, bypassing network 704. As anotherexample, two or more of client device 706, social networking system 702,and third-party system 708 may be physically or logically co-locatedwith each other in whole or in part. Moreover, although FIG. 7illustrates a particular number of client devices 706, social networkingsystems 702, third-party systems 708, and networks 704, this disclosurecontemplates any suitable number of client devices 706, socialnetworking systems 702, third-party systems 708, and networks 704. As anexample and not by way of limitation, network environment 700 mayinclude multiple client devices 706, social networking systems 702,third-party systems 708, and networks 704.

This disclosure contemplates any suitable network 704. As an example andnot by way of limitation, one or more portions of network 704 mayinclude an ad hoc network, an intranet, an extranet, a virtual privatenetwork (“VPN”), a local area network (“LAN”), a wireless LAN (“WLAN”),a wide area network (“WAN”), a wireless WAN (“WWAN”), a metropolitanarea network (“MAN”), a portion of the Internet, a portion of the PublicSwitched Telephone Network (“PSTN”), a cellular telephone network, or acombination of two or more of these. Network 704 may include one or morenetworks 704.

Links may connect client device 706, social networking system 702, andthird-party system 708 to communication network 704 or to each other.This disclosure contemplates any suitable links. In particularembodiments, one or more links include one or more wireline (such as forexample Digital Subscriber Line (“DSL”) or Data Over Cable ServiceInterface Specification (“DOCSIS”)), wireless (such as for example Wi-Fior Worldwide Interoperability for Microwave Access (“WiMAX”)), oroptical (such as for example Synchronous Optical Network (“SONET”) orSynchronous Digital Hierarchy (“SDH”)) links. In particular embodiments,one or more links each include an ad hoc network, an intranet, anextranet, a VPN, a LAN, a WLAN, a WAN, a WWAN, a MAN, a portion of theInternet, a portion of the PSTN, a cellular technology-based network, asatellite communications technology-based network, another link, or acombination of two or more such links. Links need not necessarily be thesame throughout network environment 700. One or more first links maydiffer in one or more respects from one or more second links.

In particular embodiments, client device 706 may be an electronic deviceincluding hardware, software, or embedded logic components or acombination of two or more such components and capable of carrying outthe appropriate functionalities implemented or supported by clientdevice 706. As an example and not by way of limitation, a client device706 may include any of the computing devices discussed above in relationto FIG. 7. A client device 706 may enable a network user at clientdevice 706 to access network 704. A client device 706 may enable itsuser to communicate with other users at other client devices 706.

In particular embodiments, client device 706 may include a web browser,such as MICROSOFT INTERNET EXPLORER, GOOGLE CHROME or MOZILLA FIREFOX,and may have one or more add-ons, plug-ins, or other extensions, such asTOOLBAR or YAHOO TOOLBAR. A user at client device 706 may enter aUniform Resource Locator (“URL”) or other address directing the webbrowser to a particular server (such as server, or a server associatedwith a third-party system 708), and the web browser may generate a HyperText Transfer Protocol (“HTTP”) request and communicate the HTTP requestto server. The server may accept the HTTP request and communicate toclient device 706 one or more Hyper Text Markup Language (“HTML”) filesresponsive to the HTTP request. Client device 706 may render a webpagebased on the HTML files from the server for presentation to the user.This disclosure contemplates any suitable webpage files. As an exampleand not by way of limitation, webpages may render from HTML files,Extensible Hyper Text Markup Language (“XHTML”) files, or ExtensibleMarkup Language (“XML”) files, according to particular needs. Such pagesmay also execute scripts such as, for example and without limitation,those written in JAVASCRIPT, JAVA, MICROSOFT SILVERLIGHT, combinationsof markup language and scripts such as AJAX (Asynchronous JAVASCRIPT andXML), and the like. Herein, reference to a webpage encompasses one ormore corresponding webpage files (which a browser may use to render thewebpage) and vice versa, where appropriate.

In particular embodiments, social networking system 702 may be anetwork-addressable computing system that can host an online socialnetwork. Social networking system 702 may generate, store, receive, andsend social-networking data, such as, for example, user-profile data,concept-profile data, social-graph information, or other suitable datarelated to the online social network. Social networking system 702 maybe accessed by the other components of network environment 700 eitherdirectly or via network 704. In particular embodiments, socialnetworking system 702 may include one or more servers. Each server maybe a unitary server or a distributed server spanning multiple computersor multiple datacenters. Servers may be of various types, such as, forexample and without limitation, web server, news server, mail server,message server, advertising server, file server, application server,exchange server, database server, proxy server, another server suitablefor performing functions or processes described herein, or anycombination thereof. In particular embodiments, each server may includehardware, software, or embedded logic components or a combination of twoor more such components for carrying out the appropriate functionalitiesimplemented or supported by server. In particular embodiments, socialnetworking system 702 may include one or more data stores. Data storesmay be used to store various types of information. In particularembodiments, the information stored in data stores may be organizedaccording to specific data structures. In particular embodiments, eachdata store may be a relational, columnar, correlation, or other suitabledatabase. Although this disclosure describes or illustrates particulartypes of databases, this disclosure contemplates any suitable types ofdatabases. Particular embodiments may provide interfaces that enable aclient device 706, a social networking system 702, or a third-partysystem 708 to manage, retrieve, modify, add, or delete, the informationstored in data store.

In particular embodiments, social networking system 702 may store one ormore social graphs in one or more data stores. In particularembodiments, a social graph may include multiple nodes—which may includemultiple user nodes (each corresponding to a particular user) ormultiple concept nodes (each corresponding to a particular concept)—andmultiple edges connecting the nodes. Social networking system 702 mayprovide users of the online social network the ability to communicateand interact with other users. In particular embodiments, users may jointhe online social network via social networking system 702 and then addconnections (e.g., relationships) to a number of other users of socialnetworking system 702 whom they want to be connected to. Herein, theterm “friend” may refer to any other user of social networking system702 with whom a user has formed a connection, association, orrelationship via social networking system 702.

In particular embodiments, social networking system 702 may provideusers with the ability to take actions on various types of items orobjects, supported by social networking system 702. As an example andnot by way of limitation, the items and objects may include groups orsocial networks to which users of social networking system 702 maybelong, events or calendar entries in which a user might be interested,computer-based applications that a user may use, transactions that allowusers to buy or sell items via the service, interactions withadvertisements that a user may perform, or other suitable items orobjects. A user may interact with anything that is capable of beingrepresented in social networking system 702 or by an external system ofthird-party system 708, which is separate from social networking system702 and coupled to social networking system 702 via a network 704.

In particular embodiments, social networking system 702 may be capableof linking a variety of entities. As an example and not by way oflimitation, social networking system 702 may enable users to interactwith each other as well as receive content from third-party systems 708or other entities, or to allow users to interact with these entitiesthrough an application programming interfaces (“API”) or othercommunication channels.

In particular embodiments, a third-party system 708 may include one ormore types of servers, one or more data stores, one or more interfaces,including but not limited to APIs, one or more web services, one or morecontent sources, one or more networks, or any other suitable components,e.g., that servers may communicate with. A third-party system 708 may beoperated by a different entity from an entity operating socialnetworking system 702. In particular embodiments, however, socialnetworking system 702 and third-party systems 708 may operate inconjunction with each other to provide social-networking services tousers of social networking system 702 or third-party systems 708. Inthis sense, social networking system 702 may provide a platform, orbackbone, which other systems, such as third-party systems 708, may useto provide social-networking services and functionality to users acrossthe Internet.

In particular embodiments, a third-party system 708 may include athird-party content object provider. A third-party content objectprovider may include one or more sources of content objects, which maybe communicated to a client device 706. As an example and not by way oflimitation, content objects may include information regarding things oractivities of interest to the user, such as, for example, movie showtimes, movie reviews, restaurant reviews, restaurant menus, productinformation and reviews, or other suitable information. As anotherexample and not by way of limitation, content objects may includeincentive content objects, such as coupons, discount tickets, giftcertificates, or other suitable incentive objects.

In particular embodiments, social networking system 702 also includesuser-generated content objects, which may enhance a user's interactionswith social networking system 702. User-generated content may includeanything a user can add, upload, send, or “post” to social networkingsystem 702. As an example and not by way of limitation, a usercommunicates posts to social networking system 702 from a client device706. Posts may include data such as status updates or other textualdata, location information, photos, videos, links, music or othersimilar data or media. Content may also be added to social networkingsystem 702 by a third-party through a “communication channel,” such as anewsfeed or stream.

In particular embodiments, social networking system 702 may include avariety of servers, sub-systems, programs, modules, logs, and datastores. In particular embodiments, social networking system 702 mayinclude one or more of the following: a web server, action logger,API-request server, relevance-and-ranking engine, content-objectclassifier, notification controller, action log,third-party-content-object-exposure log, inference module,authorization/privacy server, search module, advertisement-targetingmodule, user-interface module, user-profile store, connection store,third-party content store, or location store. Social networking system702 may also include suitable components such as network interfaces,security mechanisms, load balancers, failover servers,management-and-network-operations consoles, other suitable components,or any suitable combination thereof. In particular embodiments, socialnetworking system 702 may include one or more user-profile stores forstoring user profiles. A user profile may include, for example,biographic information, demographic information, behavioral information,social information, or other types of descriptive information, such aswork experience, educational history, hobbies or preferences, interests,affinities, or location. Interest information may include interestsrelated to one or more categories. Categories may be general orspecific. As an example and not by way of limitation, if a user “likes”an article about a brand of shoes the category may be the brand, or thegeneral category of “shoes” or “clothing.” A connection store may beused for storing connection information about users. The connectioninformation may indicate users who have similar or common workexperience, group memberships, hobbies, educational history, or are inany way related or share common attributes. The connection informationmay also include user-defined connections between different users andcontent (both internal and external). A web server may be used forlinking social networking system 702 to one or more client devices 706or one or more third-party system 708 via network 704. The web servermay include a mail server or other messaging functionality for receivingand routing messages between social networking system 702 and one ormore client devices 706. An API-request server may allow a third-partysystem 708 to access information from social networking system 702 bycalling one or more APIs. An action logger may be used to receivecommunications from a web server about a user's actions on or off socialnetworking system 702. In conjunction with the action log, athird-party-content-object log may be maintained of user exposures tothird-party-content objects. A notification controller may provideinformation regarding content objects to a client device 706.Information may be pushed to a client device 706 as notifications, orinformation may be pulled from client device 706 responsive to a requestreceived from client device 706. Authorization servers may be used toenforce one or more privacy settings of the users of social networkingsystem 702. A privacy setting of a user determines how particularinformation associated with a user can be shared. The authorizationserver may allow users to opt in to or opt out of having their actionslogged by social networking system 702 or shared with other systems(e.g., third-party system 708), such as, for example, by settingappropriate privacy settings. Third-party-content-object stores may beused to store content objects received from third parties, such as athird-party system 708. Location stores may be used for storing locationinformation received from client devices 706 associated with users.Advertisement-pricing modules may combine social information, thecurrent time, location information, or other suitable information toprovide relevant advertisements, in the form of notifications, to auser.

FIG. 8 illustrates example social graph 800. In particular embodiments,social networking system 702 may store one or more social graphs 800 inone or more data stores. In particular embodiments, social graph 800 mayinclude multiple nodes—which may include multiple user nodes 802 ormultiple concept nodes 804—and multiple edges 806 connecting the nodes.Example social graph 800 illustrated in FIG. 8 is shown, for didacticpurposes, in a two-dimensional visual map representation. In particularembodiments, a social networking system 702, client device 706, orthird-party system 708 may access social graph 800 and relatedsocial-graph information for suitable applications. The nodes and edgesof social graph 800 may be stored as data objects, for example, in adata store (such as a social-graph database). Such a data store mayinclude one or more searchable or query able indexes of nodes or edgesof social graph 800.

In particular embodiments, a user node 802 may correspond to a user ofsocial networking system 702. As an example and not by way oflimitation, a user may be an individual (human user), an entity (e.g.,an enterprise, business, or third-party application), or a group (e.g.,of individuals or entities) that interacts or communicates with or oversocial networking system 702. In particular embodiments, when a userregisters for an account with social networking system 702, socialnetworking system 702 may create a user node 802 corresponding to theuser, and store the user node 802 in one or more data stores. Users anduser nodes 802 described herein may, where appropriate, refer toregistered users and user nodes 802 associated with registered users. Inaddition, or as an alternative, users and user nodes 802 describedherein may, where appropriate, refer to users that have not registeredwith social networking system 702. In particular embodiments, a usernode 802 may be associated with information provided by a user orinformation gathered by various systems, including social networkingsystem 702. As an example and not by way of limitation, a user mayprovide his or her name, profile picture, contact information, birthdate, sex, marital status, family status, employment, educationbackground, preferences, interests, or other demographic information.Each user node of the social graph may have a corresponding web page(typically known as a profile page). In response to a request includinga user name, the social-networking system can access a user nodecorresponding to the user name, and construct a profile page includingthe name, a profile picture, and other information associated with theuser. A profile page of a first user may display to a second user all ora portion of the first user's information based on one or more privacysettings by the first user and the relationship between the first userand the second user.

In particular embodiments, a concept node 804 may correspond to aconcept. As an example and not by way of limitation, a concept maycorrespond to a place (such as, for example, a movie theater,restaurant, landmark, or city); a website (such as, for example, awebsite associated with social networking system 702 or a third-partywebsite associated with a web-application server); an entity (such as,for example, a person, business, group, sports team, or celebrity); aresource (such as, for example, an audio file, video file, digitalphoto, text file, structured document, or application) which may belocated within social networking system 702 or on an external server,such as a web-application server; real or intellectual property (suchas, for example, a sculpture, painting, movie, game, song, idea,photograph, or written work); a game; an activity; an idea or theory;another suitable concept; or two or more such concepts. A concept node804 may be associated with information of a concept provided by a useror information gathered by various systems, including social networkingsystem 702. As an example and not by way of limitation, information of aconcept may include a name or a title; one or more images (e.g., animage of the cover page of a book); a location (e.g., an address or ageographical location); a website (which may be associated with a URL);contact information (e.g., a phone number or an email address); othersuitable concept information; or any suitable combination of suchinformation. In particular embodiments, a concept node 804 may beassociated with one or more data objects corresponding to informationassociated with concept nodes 804. In particular embodiments, a conceptnode 804 may correspond to one or more webpages.

In particular embodiments, a node in social graph 800 may represent orbe represented by a webpage (which may be referred to as a “profilepage”). Profile pages may be hosted by or accessible to socialnetworking system 702. Profile pages may also be hosted on third-partywebsites associated with a third-party system 708. As an example and notby way of limitation, a profile page corresponding to a particularexternal webpage may be the particular external webpage and the profilepage may correspond to a particular concept node 804. Profile pages maybe viewable by all or a selected subset of other users. As an exampleand not by way of limitation, a user node 802 may have a correspondinguser-profile page in which the corresponding user may add content, makedeclarations, or otherwise express himself or herself. As anotherexample and not by way of limitation, a concept node 804 may have acorresponding concept-profile page in which one or more users may addcontent, make declarations, or express themselves, particularly inrelation to the concept corresponding to concept nodes 804.

In particular embodiments, a concept node 804 may represent athird-party webpage or resource hosted by a third-party system 708. Thethird-party webpage or resource may include, among other elements,content, a selectable or other icon, or other inter-actable object(which may be implemented, for example, in JavaScript, AJAX, or PHPcodes) representing an action or activity. As an example and not by wayof limitation, a third-party webpage may include a selectable icon suchas “like,” “check in,” “eat,” “recommend,” or another suitable action oractivity. A user viewing the third-party webpage may perform an actionby selecting one of the icons (e.g., “eat”), causing a client device 706to send to social networking system 702 a message indicating the user'saction. In response to the message, social networking system 702 maycreate an edge (e.g., an “eat” edge) between a user node 802corresponding to the user and a concept node 804 corresponding to thethird-party webpage or resource and store edge 806 in one or more datastores.

In particular embodiments, a pair of nodes in social graph 800 may beconnected to each other by one or more edges 806. An edge 806 connectinga pair of nodes may represent a relationship between the pair of nodes.In particular embodiments, an edge 806 may include or represent one ormore data objects or attributes corresponding to the relationshipbetween a pair of nodes. As an example and not by way of limitation, afirst user may indicate that a second user is a “friend” of the firstuser. In response to this indication, social networking system 702 maysend a “friend request” to the second user. If the second user confirmsthe “friend request,” social networking system 702 may create an edge806 connecting the first user's user node 802 to the second user's usernode 802 in social graph 800 and store edge 806 as social-graphinformation in one or more of data stores. In the example of FIG. 8,social graph 800 includes an edge 806 indicating a friend relationbetween user nodes 802 of user “A” and user “B” and an edge indicating afriend relation between user nodes 802 of user “C” and user “B.”Although this disclosure describes or illustrates particular edges 806with particular attributes connecting particular user nodes 802, thisdisclosure contemplates any suitable edges 806 with any suitableattributes connecting user nodes 802. As an example and not by way oflimitation, an edge 806 may represent a friendship, family relationship,business or employment relationship, fan relationship, followerrelationship, visitor relationship, subscriber relationship,superior/subordinate relationship, reciprocal relationship,non-reciprocal relationship, another suitable type of relationship, ortwo or more such relationships. Moreover, although this disclosuregenerally describes nodes as being connected, this disclosure alsodescribes users or concepts as being connected. Herein, references tousers or concepts being connected may, where appropriate, refer to thenodes corresponding to those users or concepts being connected in socialgraph 800 by one or more edges 806.

In particular embodiments, an edge 806 between a user node 802 and aconcept node 804 may represent a particular action or activity performedby a user associated with user node 802 toward a concept associated witha concept node 804. As an example and not by way of limitation, asillustrated in FIG. 8, a user may “like,” “attended,” “played,”“listened,” “cooked,” “worked at,” or “watched” a concept, each of whichmay correspond to an edge type or subtype. A concept-profile pagecorresponding to a concept node 804 may include, for example, aselectable “check in” icon (such as, for example, a clickable “check in”icon) or a selectable “add to favorites” icon. Similarly, after a userclicks these icons, social networking system 702 may create a “favorite”edge or a “check in” edge in response to a user's action correspondingto a respective action. As another example and not by way of limitation,a user (user “C”) may listen to a particular song (“Ramble On”) using aparticular application (SPOTIFY, which is an online music application).In this case, social networking system 702 may create a “listened” edge806 and a “used” edge (as illustrated in FIG. 8) between user nodes 802corresponding to the user and concept nodes 804 corresponding to thesong and application to indicate that the user listened to the song andused the application. Moreover, social networking system 702 may createa “played” edge 806 (as illustrated in FIG. 8) between concept nodes 804corresponding to the song and the application to indicate that theparticular song was played by the particular application. In this case,“played” edge 806 corresponds to an action performed by an externalapplication (SPOTIFY) on an external audio file (the song “Imagine”).Although this disclosure describes particular edges 806 with particularattributes connecting user nodes 802 and concept nodes 804, thisdisclosure contemplates any suitable edges 806 with any suitableattributes connecting user nodes 802 and concept nodes 804. Moreover,although this disclosure describes edges between a user node 802 and aconcept node 804 representing a single relationship, this disclosurecontemplates edges between a user node 802 and a concept node 804representing one or more relationships. As an example and not by way oflimitation, an edge 806 may represent both that a user likes and hasused at a particular concept. Alternatively, another edge 806 mayrepresent each type of relationship (or multiples of a singlerelationship) between a user node 802 and a concept node 804 (asillustrated in FIG. 8 between user node 802 for user “E” and conceptnodes 804 for “SPOTIFY”).

In particular embodiments, social networking system 702 may create anedge 806 between a user node 802 and a concept node 804 in social graph800. As an example and not by way of limitation, a user viewing aconcept-profile page (such as, for example, by using a web browser or aspecial-purpose application hosted by the user's client device 706) mayindicate that he or she likes the concept represented by the conceptnodes 804 by clicking or selecting a “Like” icon, which may cause theuser's client device 706 to send to social networking system 702 amessage indicating the user's liking of the concept associated with theconcept-profile page. In response to the message, social networkingsystem 702 may create an edge 806 between user node 802 associated withthe user and concept nodes 804, as illustrated by “like” edge 806between the user and concept nodes 804. In particular embodiments,social networking system 702 may store an edge 806 in one or more datastores. In particular embodiments, an edge 806 may be automaticallyformed by social networking system 702 in response to a particular useraction. As an example and not by way of limitation, if a first useruploads a picture, watches a movie, or listens to a song, an edge 806may be formed between user node 802 corresponding to the first user andconcept nodes 804 corresponding to those concepts. Although thisdisclosure describes forming particular edges 806 in particular manners,this disclosure contemplates forming any suitable edges 806 in anysuitable manner.

In particular embodiments, an advertisement may be text (which may beHTML-linked), one or more images (which may be HTML-linked), one or morevideos, audio, one or more ADOBE FLASH files, a suitable combination ofthese, or any other suitable advertisement in any suitable digitalformat presented on one or more webpages, in one or more e-mails, or inconnection with search results requested by a user. In addition, or asan alternative, an advertisement may be one or more sponsored stories(e.g., a news-feed or ticker item on social networking system 702). Asponsored story may be a social action by a user (such as “liking” apage, “liking” or commenting on a post on a page, RSVPing to an eventassociated with a page, voting on a question posted on a page, checkingin to a place, using an application or playing a game, or “liking” orsharing a website) that an advertiser promotes, for example, by havingthe social action presented within a pre-determined area of a profilepage of a user or other page, presented with additional informationassociated with the advertiser, bumped up or otherwise highlightedwithin news feeds or tickers of other users, or otherwise promoted. Theadvertiser may pay to have the social action promoted. As an example andnot by way of limitation, advertisements may be included among thesearch results of a search-results page, where sponsored content ispromoted over non-sponsored content.

In particular embodiments, an advertisement may be requested for displaywithin social-networking-system webpages, third-party webpages, or otherpages. An advertisement may be displayed in a dedicated portion of apage, such as in a banner area at the top of the page, in a column atthe side of the page, in a GUI of the page, in a pop-up window, in adrop-down menu, in an input field of the page, over the top of contentof the page, or elsewhere with respect to the page. In addition or as analternative, an advertisement may be displayed within an application. Anadvertisement may be displayed within dedicated pages, requiring theuser to interact with or watch the advertisement before the user mayaccess a page or utilize an application. The user may, for example viewthe advertisement through a web browser.

A user may interact with an advertisement in any suitable manner. Theuser may click or otherwise select the advertisement. By selecting theadvertisement, the user may be directed to (or a browser or otherapplication being used by the user) a page associated with theadvertisement. At the page associated with the advertisement, the usermay take additional actions, such as purchasing a product or serviceassociated with the advertisement, receiving information associated withthe advertisement, or subscribing to a newsletter associated with theadvertisement. An advertisement with audio or video may be played byselecting a component of the advertisement (like a “play button”).Alternatively, by selecting the advertisement, social networking system702 may execute or modify a particular action of the user.

An advertisement may also include social-networking-system functionalitythat a user may interact with. As an example and not by way oflimitation, an advertisement may enable a user to “like” or otherwiseendorse the advertisement by selecting an icon or link associated withendorsement. As another example and not by way of limitation, anadvertisement may enable a user to search (e.g., by executing a query)for content related to the advertiser. Similarly, a user may share theadvertisement with another user (e.g., through social networking system702) or RSVP (e.g., through social networking system 702) to an eventassociated with the advertisement. In addition or as an alternative, anadvertisement may include social-networking-system context directed tothe user. As an example and not by way of limitation, an advertisementmay display information about a friend of the user within socialnetworking system 702 who has taken an action associated with thesubject matter of the advertisement.

In particular embodiments, social networking system 702 may determinethe social-graph affinity (which may be referred to herein as“affinity”) of various social-graph entities for each other. Affinitymay represent the strength of a relationship or level of interestbetween particular objects associated with the online social network,such as users, concepts, content, actions, advertisements, other objectsassociated with the online social network, or any suitable combinationthereof. Affinity may also be determined with respect to objectsassociated with third-party systems 708 or other suitable systems. Anoverall affinity for a social-graph entity for each user, subjectmatter, or type of content may be established. The overall affinity maychange based on continued monitoring of the actions or relationshipsassociated with the social-graph entity. Although this disclosuredescribes determining particular affinities in a particular manner, thisdisclosure contemplates determining any suitable affinities in anysuitable manner.

In particular embodiments, social networking system 702 may measure orquantify social-graph affinity using an affinity coefficient (which maybe referred to herein as “coefficient”). The coefficient may representor quantify the strength of a relationship between particular objectsassociated with the online social network. The coefficient may alsorepresent a probability or function that measures a predictedprobability that a user will perform a particular action based on theuser's interest in the action. In this way, a user's future actions maybe predicted based on the user's prior actions, where the coefficientmay be calculated at least in part based on the history of the user'sactions. Coefficients may be used to predict any number of actions,which may be within or outside of the online social network. As anexample and not by way of limitation, these actions may include varioustypes of communications, such as sending messages, posting content, orcommenting on content; various types of an observation actions, such asaccessing or viewing profile pages, media, or other suitable content;various types of coincidence information about two or more social-graphentities, such as being in the same group, tagged in the samephotograph, checked-in at the same location, or attending the sameevent; or other suitable actions. Although this disclosure describesmeasuring affinity in a particular manner, this disclosure contemplatesmeasuring affinity in any suitable manner.

In particular embodiments, social networking system 702 may use avariety of factors to calculate a coefficient. These factors mayinclude, for example, user actions, types of relationships betweenobjects, location information, other suitable factors, or anycombination thereof. In particular embodiments, different factors may beweighted differently when calculating the coefficient. The weights foreach factor may be static or the weights may change according to, forexample, the user, the type of relationship, the type of action, theuser's location, and so forth. Ratings for the factors may be combinedaccording to their weights to determine an overall coefficient for theuser. As an example and not by way of limitation, particular useractions may be assigned both a rating and a weight while a relationshipassociated with the particular user action is assigned a rating and acorrelating weight (e.g., so the weights total 100%). To calculate thecoefficient of a user towards a particular object, the rating assignedto the user's actions may comprise, for example, 60% of the overallcoefficient, while the relationship between the user and the object maycomprise 40% of the overall coefficient. In particular embodiments, thesocial networking system 702 may consider a variety of variables whendetermining weights for various factors used to calculate a coefficient,such as, for example, the time since information was accessed, decayfactors, frequency of access, relationship to information orrelationship to the object about which information was accessed,relationship to social-graph entities connected to the object, short- orlong-term averages of user actions, user feedback, other suitablevariables, or any combination thereof. As an example and not by way oflimitation, a coefficient may include a decay factor that causes thestrength of the signal provided by particular actions to decay withtime, such that more recent actions are more relevant when calculatingthe coefficient. The ratings and weights may be continuously updatedbased on continued tracking of the actions upon which the coefficient isbased. Any type of process or algorithm may be employed for assigning,combining, averaging, and so forth the ratings for each factor and theweights assigned to the factors. In particular embodiments, socialnetworking system 702 may determine coefficients using machine-learningalgorithms trained on historical actions and past user responses, ordata farmed from users by exposing them to various options and measuringresponses. Although this disclosure describes calculating coefficientsin a particular manner, this disclosure contemplates calculatingcoefficients in any suitable manner.

In particular embodiments, social networking system 702 may calculate acoefficient based on a user's actions. Social networking system 702 maymonitor such actions on the online social network, on a third-partysystem 708, on other suitable systems, or any combination thereof. Anysuitable type of user actions may be tracked or monitored. Typical useractions include viewing profile pages, creating or posting content,interacting with content, joining groups, listing and confirmingattendance at events, checking-in at locations, liking particular pages,creating pages, and performing other tasks that facilitate socialaction. In particular embodiments, social networking system 702 maycalculate a coefficient based on the user's actions with particulartypes of content. The content may be associated with the online socialnetwork, a third-party system 708, or another suitable system. Thecontent may include users, profile pages, posts, news stories,headlines, instant messages, chat room conversations, emails,advertisements, pictures, video, music, other suitable objects, or anycombination thereof. Social networking system 702 may analyze a user'sactions to determine whether one or more of the actions indicate anaffinity for subject matter, content, other users, and so forth. As anexample and not by way of limitation, if a user may make frequentlyposts content related to “coffee” or variants thereof, social networkingsystem 702 may determine the user has a high coefficient with respect tothe concept “coffee.” Particular actions or types of actions may beassigned a higher weight and/or rating than other actions, which mayaffect the overall calculated coefficient. As an example and not by wayof limitation, if a first user emails a second user, the weight or therating for the action may be higher than if the first user simply viewsthe user-profile page for the second user.

In particular embodiments, social networking system 702 may calculate acoefficient based on the type of relationship between particularobjects. Referencing the social graph 800, social networking system 702may analyze the number and/or type of edges 806 connecting particularuser nodes 802 and concept nodes 804 when calculating a coefficient. Asan example and not by way of limitation, user nodes 802 that areconnected by a spouse-type edge (representing that the two users aremarried) may be assigned a higher coefficient than user nodes 802 thatare connected by a friend-type edge. In other words, depending upon theweights assigned to the actions and relationships for the particularuser, the overall affinity may be determined to be higher for contentabout the user's spouse than for content about the user's friend. Inparticular embodiments, the relationships a user has with another objectmay affect the weights and/or the ratings of the user's actions withrespect to calculating the coefficient for that object. As an exampleand not by way of limitation, if a user is tagged in first photo, butmerely likes a second photo, social networking system 702 may determinethat the user has a higher coefficient with respect to the first photothan the second photo because having a tagged-in-type relationship withcontent may be assigned a higher weight and/or rating than having alike-type relationship with content. In particular embodiments, socialnetworking system 702 may calculate a coefficient for a first user basedon the relationship one or more second users have with a particularobject. In other words, the connections and coefficients other usershave with an object may affect the first user's coefficient for theobject. As an example and not by way of limitation, if a first user isconnected to or has a high coefficient for one or more second users, andthose second users are connected to or have a high coefficient for aparticular object, social networking system 702 may determine that thefirst user should also have a relatively high coefficient for theparticular object. In particular embodiments, the coefficient may bebased on the degree of separation between particular objects. Degree ofseparation between any two nodes is defined as the minimum number ofhops required to traverse the social graph from one node to the other. Adegree of separation between two nodes can be considered a measure ofrelatedness between the users or the concepts represented by the twonodes in the social graph. For example, two users having user nodes thatare directly connected by an edge (i.e., are first-degree nodes) may bedescribed as “connected users” or “friends.” Similarly, two users havinguser nodes that are connected only through another user node (i.e., aresecond-degree nodes) may be described as “friends of friends.” The lowercoefficient may represent the decreasing likelihood that the first userwill share an interest in content objects of the user that is indirectlyconnected to the first user in the social graph 800. As an example andnot by way of limitation, social-graph entities that are closer in thesocial graph 800 (i.e., fewer degrees of separation) may have a highercoefficient than entities that are further apart in the social graph800.

In particular embodiments, social networking system 702 may calculate acoefficient based on location information. Objects that aregeographically closer to each other may be considered to be morerelated, or of more interest, to each other than more distant objects.In particular embodiments, the coefficient of a user towards aparticular object may be based on the proximity of the object's locationto a current location associated with the user (or the location of aclient device 706 of the user). A first user may be more interested inother users or concepts that are closer to the first user. As an exampleand not by way of limitation, if a user is one mile from an airport andtwo miles from a gas station, social networking system 702 may determinethat the user has a higher coefficient for the airport than the gasstation based on the proximity of the airport to the user.

In particular embodiments, social networking system 702 may performparticular actions with respect to a user based on coefficientinformation. Coefficients may be used to predict whether a user willperform a particular action based on the user's interest in the action.A coefficient may be used when generating or presenting any type ofobjects to a user, such as advertisements, search results, news stories,media, messages, notifications, or other suitable objects. Thecoefficient may also be utilized to rank and order such objects, asappropriate. In this way, social networking system 702 may provideinformation that is relevant to user's interests and currentcircumstances, increasing the likelihood that they will find suchinformation of interest. In particular embodiments, social networkingsystem 702 may generate content based on coefficient information.Content objects may be provided or selected based on coefficientsspecific to a user. As an example and not by way of limitation, thecoefficient may be used to generate media for the user, where the usermay be presented with media for which the user has a high overallcoefficient with respect to the media object. As another example and notby way of limitation, the coefficient may be used to generateadvertisements for the user, where the user may be presented withadvertisements for which the user has a high overall coefficient withrespect to the advertised object. In particular embodiments, socialnetworking system 702 may generate search results based on coefficientinformation. Search results for a particular user may be scored orranked based on the coefficient associated with the search results withrespect to the querying user. As an example and not by way oflimitation, search results corresponding to objects with highercoefficients may be ranked higher on a search-results page than resultscorresponding to objects having lower coefficients.

In particular embodiments, social networking system 702 may calculate acoefficient in response to a request for a coefficient from a particularsystem or process. To predict the likely actions a user may take (or maybe the subject of) in a given situation, any process may request acalculated coefficient for a user. The request may also include a set ofweights to use for various factors used to calculate the coefficient.This request may come from a process running on the online socialnetwork, from a third-party system 708 (e.g., via an API or othercommunication channel), or from another suitable system. In response tothe request, social networking system 702 may calculate the coefficient(or access the coefficient information if it has previously beencalculated and stored). In particular embodiments, social networkingsystem 702 may measure an affinity with respect to a particular process.Different processes (both internal and external to the online socialnetwork) may request a coefficient for a particular object or set ofobjects. Social networking system 702 may provide a measure of affinitythat is relevant to the particular process that requested the measure ofaffinity. In this way, each process receives a measure of affinity thatis tailored for the different context in which the process will use themeasure of affinity.

In connection with social-graph affinity and affinity coefficients,particular embodiments may utilize one or more systems, components,elements, functions, methods, operations, or acts disclosed in U.S.patent application Ser. No. 11/503,093, filed 11 Aug. 2006, U.S. patentapplication Ser. No. 12/978,027, filed 22 Dec. 2010, U.S. patentapplication Ser. No. 12/978,265, filed 23 Dec. 2010, and U.S. patentapplication Ser. No. 13/642,869, filed 1 Oct. 2012, each of which isincorporated by reference.

In particular embodiments, one or more of the content objects of theonline social network may be associated with a privacy setting. Theprivacy settings (or “access settings”) for an object may be stored inany suitable manner, such as, for example, in association with theobject, in an index on an authorization server, in another suitablemanner, or any combination thereof. A privacy setting of an object mayspecify how the object (or particular information associated with anobject) can be accessed (e.g., viewed or shared) using the online socialnetwork. Where the privacy settings for an object allow a particularuser to access that object, the object may be described as being“visible” with respect to that user. As an example and not by way oflimitation, a user of the online social network may specify privacysettings for a user-profile page identify a set of users that may accessthe work experience information on the user-profile page, thus excludingother users from accessing the information. In particular embodiments,the privacy settings may specify a “blocked list” of users that shouldnot be allowed to access certain information associated with the object.In other words, the blocked list may specify one or more users orentities for which an object is not visible. As an example and not byway of limitation, a user may specify a set of users that may not accessphotos albums associated with the user, thus excluding those users fromaccessing the photo albums (while also possibly allowing certain usersnot within the set of users to access the photo albums). In particularembodiments, privacy settings may be associated with particularsocial-graph elements. Privacy settings of a social-graph element, suchas a node or an edge, may specify how the social-graph element,information associated with the social-graph element, or content objectsassociated with the social-graph element can be accessed using theonline social network. As an example and not by way of limitation, aparticular concept node 804 corresponding to a particular photo may havea privacy setting specifying that the photo may only be accessed byusers tagged in the photo and their friends. In particular embodiments,privacy settings may allow users to opt in or opt out of having theiractions logged by social networking system 702 or shared with othersystems (e.g., third-party system 708). In particular embodiments, theprivacy settings associated with an object may specify any suitablegranularity of permitted access or denial of access. As an example andnot by way of limitation, access or denial of access may be specifiedfor particular users (e.g., only me, my roommates, and my boss), userswithin a particular degrees-of-separation (e.g., friends, orfriends-of-friends), user groups (e.g., the gaming club, my family),user networks (e.g., employees of particular employers, students oralumni of particular university), all users (“public”), no users(“private”), users of third-party systems 708, particular applications(e.g., third-party applications, external websites), other suitableusers or entities, or any combination thereof. Although this disclosuredescribes using particular privacy settings in a particular manner, thisdisclosure contemplates using any suitable privacy settings in anysuitable manner.

In particular embodiments, one or more servers may beauthorization/privacy servers for enforcing privacy settings. Inresponse to a request from a user (or other entity) for a particularobject stored in a data store, social networking system 702 may send arequest to the data store for the object. The request may identify theuser associated with the request and may only be sent to the user (or aclient device 706 of the user) if the authorization server determinesthat the user is authorized to access the object based on the privacysettings associated with the object. If the requesting user is notauthorized to access the object, the authorization server may preventthe requested object from being retrieved from the data store, or mayprevent the requested object from be sent to the user. In the searchquery context, an object may only be generated as a search result if thequerying user is authorized to access the object. In other words, theobject must have a visibility that is visible to the querying user. Ifthe object has a visibility that is not visible to the user, the objectmay be excluded from the search results. Although this disclosuredescribes enforcing privacy settings in a particular manner, thisdisclosure contemplates enforcing privacy settings in any suitablemanner.

The foregoing specification is described with reference to specificexemplary embodiments thereof. Various embodiments and aspects of thedisclosure are described with reference to details discussed herein, andthe accompanying drawings illustrate the various embodiments. Thedescription above and drawings are illustrative and are not to beconstrued as limiting. Numerous specific details are described toprovide a thorough understanding of various embodiments.

The additional or alternative embodiments may be embodied in otherspecific forms without departing from its spirit or essentialcharacteristics. The described embodiments are to be considered in allrespects only as illustrative and not restrictive. The scope of thepresent disclosure is, therefore, indicated by the appended claimsrather than by the foregoing description. All changes that come withinthe meaning and range of equivalency of the claims are to be embracedwithin their scope.

We claim:
 1. A method comprising: generating a first automated messagewithin a messaging thread between a client device and a third party, thefirst automated message comprising a signature option to digitally signa digital document; in response to receiving a selection of thesignature option from the client device, generating a second automatedmessage within the messaging thread comprising an image of a digitalsignature and an add-signature option to add the digital signature tothe digital document; receiving a selection of the add-signature optionfrom the client device; verifying an identity of a user associated withthe client device; and adding the digital signature to the digitaldocument based on receiving the selection of the add-signature optionand verifying the identity of the user.
 2. The method of claim 1,wherein generating the second automated message comprises generating thesecond automated message comprising an edit-signature option to edit astored digital signature associated with the user.
 3. The method ofclaim 1, wherein generating the second automated message comprises oneor more of: generating a preloaded image of a previous digital signatureof the user; or generating a digital signature field for drawing adigital signature for the user.
 4. The method of claim 1, whereingenerating the second automated message comprises automaticallygenerating the image of the digital signature based on a name designatedfor the user associated with the client device.
 5. The method of claim1, wherein generating the first automated message comprises generatingthe first automated message to include the signature option and adigital document thumbnail depicting at least a portion of the digitaldocument.
 6. The method of claim 1, further comprising: receiving aselection of a new-signature option from the client device to create anew digital signature for the user; and in response to receiving theselection of the new-signature option, providing a digital signaturefield for creating the new digital signature for the user and includingan option to upload the new digital signature for a user accountassociated with the user.
 7. The method of claim 1, wherein verifyingthe identity of the user comprises comparing a location of the clientdevice and a device identifier of the client device to locations anddevice identifiers of one or more client devices tracked within a userhistory for the user.
 8. A non-transitory computer readable mediumstoring instructions that, when executed by at least one processor,cause a computing device to: generate a first automated message within amessaging thread between a client device and a third party, the firstautomated message comprising a signature option to digitally sign adigital document; in response to receiving a selection of the signatureoption from the client device, generate a second automated messagewithin the messaging thread comprising an image of a digital signatureand an add-signature option to add the digital signature to the digitaldocument; receive a selection of the add-signature option from theclient device; verify an identity of a user associated with the clientdevice; and add the digital signature to the digital document based onreceiving the selection of the add-signature option and verifying theidentity of the user.
 9. The non-transitory computer readable medium ofclaim 8, further storing instructions that, when executed by the atleast one processor, cause the computing device to generate the secondautomated message by generating the second automated message comprisingan edit-signature option to edit a stored digital signature associatedwith the user.
 10. The non-transitory computer readable medium of claim8, further storing instructions that, when executed by the at least oneprocessor, cause the computing device to generate the second automatedmessage by one or more of: generating a preloaded image of a previousdigital signature of the user; or generating a digital signature fieldfor drawing a digital signature for the user.
 11. The non-transitorycomputer readable medium of claim 8, further storing instructions that,when executed by the at least one processor, cause the computing deviceto generate the second automated message by automatically generating theimage of the digital signature based on a name designated for the userassociated with the client device.
 12. The non-transitory computerreadable medium of claim 8, further storing instructions that, whenexecuted by the at least one processor, cause the computing device togenerate the first automated message by generating the first automatedmessage to include the signature option and a digital document thumbnaildepicting at least a portion of the digital document.
 13. Thenon-transitory computer readable medium of claim 8, further storinginstructions that, when executed by the at least one processor, causethe computing device to: receive a selection of a new-signature optionfrom the client device to create a new digital signature for the user;and in response to receiving the selection of the new-signature option,provide a digital signature field for creating the new digital signaturefor the user and including an option to upload the new digital signaturefor a user account associated with the user.
 14. The non-transitorycomputer readable medium of claim 8, further storing instructions that,when executed by the at least one processor, cause the computing deviceto verify the identity of the user by comparing a location of the clientdevice and a device identifier of the client device to locations anddevice identifiers of one or more client devices tracked within a userhistory for the user.
 15. A system comprising: at least one processor;and at least one non-transitory computer readable storage medium storinginstructions that, when executed by the at least one processor, causethe system to: generate a first automated message within a messagingthread between a client device and a third party, the first automatedmessage comprising a signature option to digitally sign a digitaldocument; in response to receiving a selection of the signature optionfrom the client device, generate a second automated message within themessaging thread comprising an image of a digital signature and anadd-signature option to add the digital signature to the digitaldocument; receive a selection of the add-signature option from theclient device; verify an identity of a user associated with the clientdevice; and add the digital signature to the digital document based onreceiving the selection of the add-signature option and verifying theidentity of the user.
 16. The system of claim 15, further storinginstructions that, when executed by the at least one processor, causethe system to generate the second automated message by generating thesecond automated message comprising an edit-signature option to edit astored digital signature associated with the user.
 17. The system ofclaim 15, further storing instructions that, when executed by the atleast one processor, cause the system to generate the second automatedmessage by one or more of: generating a preloaded image of a previousdigital signature of the user; or generating a digital signature fieldfor drawing a digital signature for the user.
 18. The system of claim15, further storing instructions that, when executed by the at least oneprocessor, cause the system to generate the second automated message byautomatically generating the image of the digital signature based on aname designated for the user associated with the client device.
 19. Thesystem of claim 15, further storing instructions that, when executed bythe at least one processor, cause the system to generate the firstautomated message by generating the first automated message to includethe signature option and a digital document thumbnail depicting at leasta portion of the digital document.
 20. The system of claim 15, furtherstoring instructions that, when executed by the at least one processor,cause the system to: receive a selection of a new-signature option fromthe client device to create a new digital signature for the user; and inresponse to receiving the selection of the new-signature option, providea digital signature field for creating the new digital signature for theuser and including an option to upload the new digital signature for auser account associated with the user.